home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LaTeX Document
(document/latex).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LaTeX Document (document/latex)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| LaTeX 2e document text
| default
| |
99%
| file
| LaTeX document text
| default
| |
98%
| file
| LaTeX document, ASCII text
| default
| |
100%
| TrID
| LaTeX 2e document (with rem)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 25 20 5c 69 66 66 61 6c | 73 65 20 6d 65 74 61 2d |% \iffal|se meta-|
|00000010| 63 6f 6d 6d 65 6e 74 0a | 25 0a 25 20 43 6f 70 79 |comment.|%.% Copy|
|00000020| 72 69 67 68 74 20 31 39 | 39 34 20 74 68 65 20 4c |right 19|94 the L|
|00000030| 61 54 65 58 33 20 70 72 | 6f 6a 65 63 74 20 61 6e |aTeX3 pr|oject an|
|00000040| 64 20 74 68 65 20 69 6e | 64 69 76 69 64 75 61 6c |d the in|dividual|
|00000050| 20 61 75 74 68 6f 72 73 | 2e 0a 25 20 41 6c 6c 20 | authors|..% All |
|00000060| 72 69 67 68 74 73 20 72 | 65 73 65 72 76 65 64 2e |rights r|eserved.|
|00000070| 20 46 6f 72 20 66 75 72 | 74 68 65 72 20 63 6f 70 | For fur|ther cop|
|00000080| 79 72 69 67 68 74 20 69 | 6e 66 6f 72 6d 61 74 69 |yright i|nformati|
|00000090| 6f 6e 20 73 65 65 20 74 | 68 65 20 66 69 6c 65 0a |on see t|he file.|
|000000a0| 25 20 6c 65 67 61 6c 2e | 74 78 74 2c 20 61 6e 64 |% legal.|txt, and|
|000000b0| 20 61 6e 79 20 6f 74 68 | 65 72 20 63 6f 70 79 72 | any oth|er copyr|
|000000c0| 69 67 68 74 20 69 6e 64 | 69 63 61 74 65 64 20 69 |ight ind|icated i|
|000000d0| 6e 20 74 68 69 73 20 66 | 69 6c 65 2e 0a 25 20 0a |n this f|ile..% .|
|000000e0| 25 20 54 68 69 73 20 66 | 69 6c 65 20 69 73 20 70 |% This f|ile is p|
|000000f0| 61 72 74 20 6f 66 20 74 | 68 65 20 4c 61 54 65 58 |art of t|he LaTeX|
|00000100| 32 65 20 73 79 73 74 65 | 6d 2e 0a 25 20 2d 2d 2d |2e syste|m..% ---|
|00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000130| 2d 2d 2d 2d 2d 0a 25 20 | 0a 25 20 20 54 68 69 73 |-----.% |.% This|
|00000140| 20 73 79 73 74 65 6d 20 | 69 73 20 64 69 73 74 72 | system |is distr|
|00000150| 69 62 75 74 65 64 20 69 | 6e 20 74 68 65 20 68 6f |ibuted i|n the ho|
|00000160| 70 65 20 74 68 61 74 20 | 69 74 20 77 69 6c 6c 20 |pe that |it will |
|00000170| 62 65 20 75 73 65 66 75 | 6c 2c 0a 25 20 20 62 75 |be usefu|l,.% bu|
|00000180| 74 20 57 49 54 48 4f 55 | 54 20 41 4e 59 20 57 41 |t WITHOU|T ANY WA|
|00000190| 52 52 41 4e 54 59 3b 20 | 77 69 74 68 6f 75 74 20 |RRANTY; |without |
|000001a0| 65 76 65 6e 20 74 68 65 | 20 69 6d 70 6c 69 65 64 |even the| implied|
|000001b0| 20 77 61 72 72 61 6e 74 | 79 20 6f 66 0a 25 20 20 | warrant|y of.% |
|000001c0| 4d 45 52 43 48 41 4e 54 | 41 42 49 4c 49 54 59 20 |MERCHANT|ABILITY |
|000001d0| 6f 72 20 46 49 54 4e 45 | 53 53 20 46 4f 52 20 41 |or FITNE|SS FOR A|
|000001e0| 20 50 41 52 54 49 43 55 | 4c 41 52 20 50 55 52 50 | PARTICU|LAR PURP|
|000001f0| 4f 53 45 2e 0a 25 20 0a | 25 20 0a 25 20 49 4d 50 |OSE..% .|% .% IMP|
|00000200| 4f 52 54 41 4e 54 20 4e | 4f 54 49 43 45 3a 0a 25 |ORTANT N|OTICE:.%|
|00000210| 20 0a 25 20 46 6f 72 20 | 65 72 72 6f 72 20 72 65 | .% For |error re|
|00000220| 70 6f 72 74 73 20 69 6e | 20 63 61 73 65 20 6f 66 |ports in| case of|
|00000230| 20 55 4e 43 48 41 4e 47 | 45 44 20 76 65 72 73 69 | UNCHANG|ED versi|
|00000240| 6f 6e 73 20 73 65 65 20 | 62 75 67 73 2e 74 78 74 |ons see |bugs.txt|
|00000250| 2e 0a 25 20 0a 25 20 50 | 6c 65 61 73 65 20 64 6f |..% .% P|lease do|
|00000260| 20 6e 6f 74 20 72 65 71 | 75 65 73 74 20 75 70 64 | not req|uest upd|
|00000270| 61 74 65 73 20 66 72 6f | 6d 20 75 73 20 64 69 72 |ates fro|m us dir|
|00000280| 65 63 74 6c 79 2e 20 20 | 44 69 73 74 72 69 62 75 |ectly. |Distribu|
|00000290| 74 69 6f 6e 20 69 73 0a | 25 20 64 6f 6e 65 20 74 |tion is.|% done t|
|000002a0| 68 72 6f 75 67 68 20 4d | 61 69 6c 2d 53 65 72 76 |hrough M|ail-Serv|
|000002b0| 65 72 73 20 61 6e 64 20 | 54 65 58 20 6f 72 67 61 |ers and |TeX orga|
|000002c0| 6e 69 7a 61 74 69 6f 6e | 73 2e 0a 25 20 0a 25 20 |nization|s..% .% |
|000002d0| 59 6f 75 20 61 72 65 20 | 6e 6f 74 20 61 6c 6c 6f |You are |not allo|
|000002e0| 77 65 64 20 74 6f 20 63 | 68 61 6e 67 65 20 74 68 |wed to c|hange th|
|000002f0| 69 73 20 66 69 6c 65 2e | 0a 25 20 0a 25 20 59 6f |is file.|.% .% Yo|
|00000300| 75 20 61 72 65 20 61 6c | 6c 6f 77 65 64 20 74 6f |u are al|lowed to|
|00000310| 20 64 69 73 74 72 69 62 | 75 74 65 20 74 68 69 73 | distrib|ute this|
|00000320| 20 66 69 6c 65 20 75 6e | 64 65 72 20 74 68 65 20 | file un|der the |
|00000330| 63 6f 6e 64 69 74 69 6f | 6e 20 74 68 61 74 0a 25 |conditio|n that.%|
|00000340| 20 69 74 20 69 73 20 64 | 69 73 74 72 69 62 75 74 | it is d|istribut|
|00000350| 65 64 20 74 6f 67 65 74 | 68 65 72 20 77 69 74 68 |ed toget|her with|
|00000360| 20 61 6c 6c 20 66 69 6c | 65 73 20 6d 65 6e 74 69 | all fil|es menti|
|00000370| 6f 6e 65 64 20 69 6e 20 | 6d 61 6e 69 66 65 73 74 |oned in |manifest|
|00000380| 2e 74 78 74 2e 0a 25 20 | 0a 25 20 49 66 20 79 6f |.txt..% |.% If yo|
|00000390| 75 20 72 65 63 65 69 76 | 65 20 6f 6e 6c 79 20 73 |u receiv|e only s|
|000003a0| 6f 6d 65 20 6f 66 20 74 | 68 65 73 65 20 66 69 6c |ome of t|hese fil|
|000003b0| 65 73 20 66 72 6f 6d 20 | 73 6f 6d 65 6f 6e 65 2c |es from |someone,|
|000003c0| 20 63 6f 6d 70 6c 61 69 | 6e 21 0a 25 20 0a 25 20 | complai|n!.% .% |
|000003d0| 59 6f 75 20 61 72 65 20 | 4e 4f 54 20 41 4c 4c 4f |You are |NOT ALLO|
|000003e0| 57 45 44 20 74 6f 20 64 | 69 73 74 72 69 62 75 74 |WED to d|istribut|
|000003f0| 65 20 74 68 69 73 20 66 | 69 6c 65 20 61 6c 6f 6e |e this f|ile alon|
|00000400| 65 2e 20 20 59 6f 75 20 | 61 72 65 20 4e 4f 54 0a |e. You |are NOT.|
|00000410| 25 20 41 4c 4c 4f 57 45 | 44 20 74 6f 20 74 61 6b |% ALLOWE|D to tak|
|00000420| 65 20 6d 6f 6e 65 79 20 | 66 6f 72 20 74 68 65 20 |e money |for the |
|00000430| 64 69 73 74 72 69 62 75 | 74 69 6f 6e 20 6f 72 20 |distribu|tion or |
|00000440| 75 73 65 20 6f 66 20 65 | 69 74 68 65 72 20 74 68 |use of e|ither th|
|00000450| 69 73 0a 25 20 66 69 6c | 65 20 6f 72 20 61 20 63 |is.% fil|e or a c|
|00000460| 68 61 6e 67 65 64 20 76 | 65 72 73 69 6f 6e 2c 20 |hanged v|ersion, |
|00000470| 65 78 63 65 70 74 20 66 | 6f 72 20 61 20 6e 6f 6d |except f|or a nom|
|00000480| 69 6e 61 6c 20 63 68 61 | 72 67 65 20 66 6f 72 20 |inal cha|rge for |
|00000490| 63 6f 70 79 69 6e 67 0a | 25 20 65 74 63 2e 0a 25 |copying.|% etc..%|
|000004a0| 20 5c 66 69 0a 25 20 5c | 69 66 66 61 6c 73 65 0a | \fi.% \|iffalse.|
|000004b0| 25 25 0a 25 25 20 46 69 | 6c 65 20 60 69 66 74 68 |%%.%% Fi|le `ifth|
|000004c0| 65 6e 2e 64 74 78 27 2e | 0a 25 25 20 43 6f 70 79 |en.dtx'.|.%% Copy|
|000004d0| 72 69 67 68 74 20 28 43 | 29 20 31 39 39 31 20 62 |right (C|) 1991 b|
|000004e0| 79 20 4c 65 73 6c 69 65 | 20 4c 61 6d 70 6f 72 74 |y Leslie| Lamport|
|000004f0| 0a 25 25 20 43 6f 70 79 | 72 69 67 68 74 20 28 43 |.%% Copy|right (C|
|00000500| 29 20 31 39 39 34 2c 20 | 31 39 39 34 20 4c 61 54 |) 1994, |1994 LaT|
|00000510| 65 58 33 20 70 72 6f 6a | 65 63 74 2c 20 44 61 76 |eX3 proj|ect, Dav|
|00000520| 69 64 20 43 61 72 6c 69 | 73 6c 65 0a 25 25 20 20 |id Carli|sle.%% |
|00000530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000540| 20 20 20 20 20 61 6c 6c | 20 72 69 67 68 74 73 20 | all| rights |
|00000550| 72 65 73 65 72 76 65 64 | 2e 0a 25 25 0a 25 0a 25 |reserved|..%%.%.%|
|00000560| 3c 2a 64 74 78 3e 0a 20 | 20 20 20 20 20 20 20 20 |<*dtx>. | |
|00000570| 20 5c 50 72 6f 76 69 64 | 65 73 46 69 6c 65 7b 69 | \Provid|esFile{i|
|00000580| 66 74 68 65 6e 2e 64 74 | 78 7d 0a 25 3c 2f 64 74 |fthen.dt|x}.%</dt|
|00000590| 78 3e 0a 25 3c 70 61 63 | 6b 61 67 65 3e 5c 4e 65 |x>.%<pac|kage>\Ne|
|000005a0| 65 64 73 54 65 58 46 6f | 72 6d 61 74 7b 4c 61 54 |edsTeXFo|rmat{LaT|
|000005b0| 65 58 32 65 7d 5b 31 39 | 39 34 2f 31 32 2f 30 31 |eX2e}[19|94/12/01|
|000005c0| 5d 0a 25 3c 70 61 63 6b | 61 67 65 3e 5c 50 72 6f |].%<pack|age>\Pro|
|000005d0| 76 69 64 65 73 50 61 63 | 6b 61 67 65 7b 69 66 74 |videsPac|kage{ift|
|000005e0| 68 65 6e 7d 0a 25 20 5c | 66 69 0a 25 20 20 20 20 |hen}.% \|fi.% |
|000005f0| 20 20 20 20 20 5c 50 72 | 6f 76 69 64 65 73 46 69 | \Pr|ovidesFi|
|00000600| 6c 65 7b 69 66 74 68 65 | 6e 2e 64 74 78 7d 0a 20 |le{ifthe|n.dtx}. |
|00000610| 20 20 20 20 20 20 20 20 | 20 5b 31 39 39 34 2f 31 | | [1994/1|
|00000620| 31 2f 31 35 20 76 31 2e | 30 6a 20 53 74 61 6e 64 |1/15 v1.|0j Stand|
|00000630| 61 72 64 20 4c 61 54 65 | 58 20 69 66 74 68 65 6e |ard LaTe|X ifthen|
|00000640| 20 70 61 63 6b 61 67 65 | 20 28 44 50 43 29 5d 0a | package| (DPC)].|
|00000650| 25 0a 25 20 5c 69 66 66 | 61 6c 73 65 0a 25 3c 2a |%.% \iff|alse.%<*|
|00000660| 64 72 69 76 65 72 3e 0a | 5c 64 6f 63 75 6d 65 6e |driver>.|\documen|
|00000670| 74 63 6c 61 73 73 7b 6c | 74 78 64 6f 63 7d 0a 5c |tclass{l|txdoc}.\|
|00000680| 44 6f 63 49 6e 70 75 74 | 7b 69 66 74 68 65 6e 2e |DocInput|{ifthen.|
|00000690| 64 74 78 7d 0a 5c 65 6e | 64 7b 64 6f 63 75 6d 65 |dtx}.\en|d{docume|
|000006a0| 6e 74 7d 0a 25 3c 2f 64 | 72 69 76 65 72 3e 0a 25 |nt}.%</d|river>.%|
|000006b0| 20 5c 66 69 0a 25 0a 25 | 20 5c 47 65 74 46 69 6c | \fi.%.%| \GetFil|
|000006c0| 65 49 6e 66 6f 7b 69 66 | 74 68 65 6e 2e 64 74 78 |eInfo{if|then.dtx|
|000006d0| 7d 0a 25 20 5c 62 65 67 | 69 6e 7b 64 6f 63 75 6d |}.% \beg|in{docum|
|000006e0| 65 6e 74 7d 0a 25 20 5c | 74 69 74 6c 65 7b 54 68 |ent}.% \|title{Th|
|000006f0| 65 20 5c 74 65 78 74 73 | 66 7b 69 66 74 68 65 6e |e \texts|f{ifthen|
|00000700| 7d 20 70 61 63 6b 61 67 | 65 5c 74 68 61 6e 6b 73 |} packag|e\thanks|
|00000710| 7b 54 68 69 73 20 66 69 | 6c 65 0a 25 20 20 20 20 |{This fi|le.% |
|00000720| 20 20 20 20 20 68 61 73 | 20 76 65 72 73 69 6f 6e | has| version|
|00000730| 20 6e 75 6d 62 65 72 20 | 5c 66 69 6c 65 76 65 72 | number |\filever|
|00000740| 73 69 6f 6e 2c 20 6c 61 | 73 74 0a 25 20 20 20 20 |sion, la|st.% |
|00000750| 20 20 20 20 20 72 65 76 | 69 73 65 64 20 5c 66 69 | rev|ised \fi|
|00000760| 6c 65 64 61 74 65 2e 7d | 7d 0a 25 20 5c 61 75 74 |ledate.}|}.% \aut|
|00000770| 68 6f 72 7b 44 61 76 69 | 64 20 43 61 72 6c 69 73 |hor{Davi|d Carlis|
|00000780| 6c 65 7d 0a 25 20 5c 64 | 61 74 65 7b 5c 66 69 6c |le}.% \d|ate{\fil|
|00000790| 65 64 61 74 65 7d 0a 25 | 20 5c 61 75 74 68 6f 72 |edate}.%| \author|
|000007a0| 7b 44 61 76 69 64 20 43 | 61 72 6c 69 73 6c 65 7d |{David C|arlisle}|
|000007b0| 0a 25 20 20 5c 6d 61 6b | 65 74 69 74 6c 65 0a 25 |.% \mak|etitle.%|
|000007c0| 20 0a 25 20 5c 43 68 65 | 63 6b 53 75 6d 7b 32 37 | .% \Che|ckSum{27|
|000007d0| 33 7d 0a 25 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |3}.%.%.%| \begin{|
|000007e0| 61 62 73 74 72 61 63 74 | 7d 0a 25 20 54 68 69 73 |abstract|}.% This|
|000007f0| 20 66 69 6c 65 20 69 6d | 70 6c 65 6d 65 6e 74 73 | file im|plements|
|00000800| 20 61 6e 20 7c 5c 69 66 | 74 68 65 6e 65 6c 73 65 | an |\if|thenelse|
|00000810| 7c 20 63 6f 6d 6d 61 6e | 64 20 66 6f 72 20 5c 4c || comman|d for \L|
|00000820| 61 54 65 58 65 2e 0a 25 | 20 54 68 65 20 61 6c 67 |aTeXe..%| The alg|
|00000830| 6f 72 69 74 68 6d 20 75 | 73 65 64 20 69 73 20 63 |orithm u|sed is c|
|00000840| 6f 6d 70 61 74 69 62 6c | 65 20 77 69 74 68 20 74 |ompatibl|e with t|
|00000850| 68 61 74 20 75 73 65 64 | 20 69 6e 20 74 68 65 20 |hat used| in the |
|00000860| 5c 4c 61 54 65 58 7e 32 | 2e 30 39 0a 25 20 7c 69 |\LaTeX~2|.09.% |i|
|00000870| 66 74 68 65 6e 7c 20 73 | 74 79 6c 65 20 6f 70 74 |fthen| s|tyle opt|
|00000880| 69 6f 6e 2e 20 49 74 20 | 68 61 73 20 62 65 65 6e |ion. It |has been|
|00000890| 20 72 65 63 6f 64 65 64 | 2c 20 6d 61 6b 69 6e 67 | recoded|, making|
|000008a0| 20 74 68 65 20 72 65 73 | 75 6c 74 69 6e 67 0a 25 | the res|ulting.%|
|000008b0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 73 20 73 6f 6d | definit|ions som|
|000008c0| 65 77 68 61 74 20 6d 6f | 72 65 20 63 6f 6d 70 61 |ewhat mo|re compa|
|000008d0| 63 74 20 61 6e 64 20 65 | 66 66 69 63 69 65 6e 74 |ct and e|fficient|
|000008e0| 2e 0a 25 20 5c 65 6e 64 | 7b 61 62 73 74 72 61 63 |..% \end|{abstrac|
|000008f0| 74 7d 0a 25 0a 25 20 5c | 63 68 61 6e 67 65 73 7b |t}.%.% \|changes{|
|00000900| 76 31 2e 30 61 7d 7b 31 | 39 39 33 2f 31 30 2f 31 |v1.0a}{1|993/10/1|
|00000910| 35 7d 7b 4e 65 77 20 69 | 6d 70 6c 65 6d 65 6e 74 |5}{New i|mplement|
|00000920| 61 74 69 6f 6e 7d 0a 25 | 20 5c 63 68 61 6e 67 65 |ation}.%| \change|
|00000930| 73 7b 76 31 2e 30 62 7d | 7b 31 39 39 33 2f 31 32 |s{v1.0b}|{1993/12|
|00000940| 2f 31 37 7d 7b 55 70 67 | 72 61 64 65 20 74 6f 20 |/17}{Upg|rade to |
|00000950| 4c 61 54 65 58 32 65 7d | 0a 25 20 5c 63 68 61 6e |LaTeX2e}|.% \chan|
|00000960| 67 65 73 7b 76 31 2e 30 | 65 7d 7b 31 39 39 34 2f |ges{v1.0|e}{1994/|
|00000970| 30 32 2f 31 31 7d 7b 49 | 6d 70 72 6f 76 65 20 64 |02/11}{I|mprove d|
|00000980| 6f 63 75 6d 65 6e 74 61 | 74 69 6f 6e 7d 0a 25 20 |ocumenta|tion}.% |
|00000990| 5c 63 68 61 6e 67 65 73 | 7b 76 31 2e 30 66 7d 7b |\changes|{v1.0f}{|
|000009a0| 31 39 39 34 2f 30 33 2f | 30 32 7d 7b 52 65 6d 6f |1994/03/|02}{Remo|
|000009b0| 76 65 20 6e 65 65 64 20 | 66 6f 72 20 64 74 78 20 |ve need |for dtx |
|000009c0| 66 69 6c 65 7d 0a 25 20 | 5c 63 68 61 6e 67 65 73 |file}.% |\changes|
|000009d0| 7b 76 31 2e 30 67 7d 7b | 31 39 39 34 2f 30 33 2f |{v1.0g}{|1994/03/|
|000009e0| 31 34 7d 7b 4d 6f 64 69 | 66 79 20 66 6f 72 20 74 |14}{Modi|fy for t|
|000009f0| 68 65 20 6e 65 77 20 6c | 74 78 64 6f 63 2e 63 6c |he new l|txdoc.cl|
|00000a00| 73 7d 0a 25 0a 25 20 5c | 73 65 63 74 69 6f 6e 7b |s}.%.% \|section{|
|00000a10| 49 6e 74 72 6f 64 75 63 | 74 69 6f 6e 7d 0a 25 0a |Introduc|tion}.%.|
|00000a20| 25 20 5c 44 65 73 63 72 | 69 62 65 4d 61 63 72 6f |% \Descr|ibeMacro|
|00000a30| 7b 5c 69 66 74 68 65 6e | 65 6c 73 65 7d 0a 25 20 |{\ifthen|else}.% |
|00000a40| 7c 5c 69 66 74 68 65 6e | 65 6c 73 65 7b 7c 5e 5e ||\ifthen|else{|^^|
|00000a50| 41 0a 25 20 20 20 20 20 | 20 20 5c 6d 65 74 61 7b |A.% | \meta{|
|00000a60| 74 65 73 74 7d 7c 7d 7b | 7c 5c 6d 65 74 61 7b 74 |test}|}{||\meta{t|
|00000a70| 68 65 6e 20 63 6c 61 75 | 73 65 7d 7c 7d 7b 7c 5c |hen clau|se}|}{|\|
|00000a80| 6d 65 74 61 7b 65 6c 73 | 65 20 63 6c 61 75 73 65 |meta{els|e clause|
|00000a90| 7d 7c 7d 7c 0a 25 0a 25 | 20 45 76 61 6c 75 61 74 |}|}|.%.%| Evaluat|
|00000aa0| 65 73 20 5c 6d 65 74 61 | 7b 74 65 73 74 7d 20 61 |es \meta|{test} a|
|00000ab0| 73 20 61 20 62 6f 6f 6c | 65 61 6e 20 66 75 6e 63 |s a bool|ean func|
|00000ac0| 74 69 6f 6e 2c 20 61 6e | 64 20 74 68 65 6e 20 65 |tion, an|d then e|
|00000ad0| 78 65 63 75 74 65 73 0a | 25 20 65 69 74 68 65 72 |xecutes.|% either|
|00000ae0| 20 5c 6d 65 74 61 7b 74 | 68 65 6e 20 63 6c 61 75 | \meta{t|hen clau|
|00000af0| 73 65 7d 20 6f 72 20 5c | 6d 65 74 61 7b 65 6c 73 |se} or \|meta{els|
|00000b00| 65 20 63 6c 61 75 73 65 | 7d 2e 0a 25 0a 25 20 5c |e clause|}..%.% \|
|00000b10| 6d 65 74 61 7b 74 65 73 | 74 7d 20 69 73 20 61 20 |meta{tes|t} is a |
|00000b20| 62 6f 6f 6c 65 61 6e 20 | 65 78 70 72 65 73 73 69 |boolean |expressi|
|00000b30| 6f 6e 20 75 73 69 6e 67 | 20 74 68 65 20 69 6e 66 |on using| the inf|
|00000b40| 69 78 20 63 6f 6e 6e 65 | 63 74 69 76 65 73 2c 0a |ix conne|ctives,.|
|00000b50| 25 20 7c 5c 61 6e 64 7c | 2c 20 7c 5c 6f 72 7c 2c |% |\and||, |\or|,|
|00000b60| 20 74 68 65 20 75 6e 61 | 72 79 20 7c 5c 6e 6f 74 | the una|ry |\not|
|00000b70| 7c 20 61 6e 64 20 70 61 | 72 65 6e 74 68 65 73 65 || and pa|renthese|
|00000b80| 73 20 7c 5c 28 20 5c 29 | 7c 2e 0a 25 0a 25 20 54 |s |\( \)||..%.% T|
|00000b90| 68 65 20 61 74 6f 6d 69 | 63 20 20 70 72 6f 70 6f |he atomi|c propo|
|00000ba0| 73 69 74 69 6f 6e 73 20 | 61 72 65 3a 5c 5c 0a 25 |sitions |are:\\.%|
|00000bb0| 20 5c 6d 65 74 61 7b 6e | 75 6d 62 65 72 7d 20 7c | \meta{n|umber} ||
|00000bc0| 3c 7c 20 5c 6d 65 74 61 | 7b 6e 75 6d 62 65 72 7d |<| \meta|{number}|
|00000bd0| 20 5c 5c 0a 25 20 5c 6d | 65 74 61 7b 6e 75 6d 62 | \\.% \m|eta{numb|
|00000be0| 65 72 7d 20 7c 3d 7c 20 | 5c 6d 65 74 61 7b 6e 75 |er} |=| |\meta{nu|
|00000bf0| 6d 62 65 72 7d 20 5c 5c | 0a 25 20 5c 6d 65 74 61 |mber} \\|.% \meta|
|00000c00| 7b 6e 75 6d 62 65 72 7d | 20 7c 3e 7c 20 5c 6d 65 |{number}| |>| \me|
|00000c10| 74 61 7b 6e 75 6d 62 65 | 72 7d 20 5c 5c 0a 25 20 |ta{numbe|r} \\.% |
|00000c20| 7c 5c 69 73 6f 64 64 7b | 7c 20 5c 6d 65 74 61 7b ||\isodd{|| \meta{|
|00000c30| 6e 75 6d 62 65 72 7d 20 | 7c 7d 7c 5c 5c 0a 25 20 |number} ||}|\\.% |
|00000c40| 7c 5c 65 71 75 61 6c 7b | 7c 5c 6d 65 74 61 7b 73 ||\equal{||\meta{s|
|00000c50| 74 72 69 6e 67 7d 7c 7d | 7b 7c 5c 6d 65 74 61 7b |tring}|}|{|\meta{|
|00000c60| 73 74 72 69 6e 67 7d 7c | 7d 7c 5c 5c 0a 25 20 7c |string}||}|\\.% ||
|00000c70| 5c 6c 65 6e 67 74 68 74 | 65 73 74 7b 7c 5c 6d 65 |\lengtht|est{|\me|
|00000c80| 74 61 7b 64 69 6d 65 6e | 7d 7c 3c 7c 5c 6d 65 74 |ta{dimen|}|<|\met|
|00000c90| 61 7b 64 69 6d 65 6e 7d | 7c 7d 7c 5c 5c 0a 25 20 |a{dimen}||}|\\.% |
|00000ca0| 7c 5c 6c 65 6e 67 74 68 | 74 65 73 74 7b 7c 5c 6d ||\length|test{|\m|
|00000cb0| 65 74 61 7b 64 69 6d 65 | 6e 7d 7c 3d 7c 5c 6d 65 |eta{dime|n}|=|\me|
|00000cc0| 74 61 7b 64 69 6d 65 6e | 7d 7c 7d 7c 5c 5c 0a 25 |ta{dimen|}|}|\\.%|
|00000cd0| 20 7c 5c 6c 65 6e 67 74 | 68 74 65 73 74 7b 7c 5c | |\lengt|htest{|\|
|00000ce0| 6d 65 74 61 7b 64 69 6d | 65 6e 7d 7c 3e 7c 5c 6d |meta{dim|en}|>|\m|
|00000cf0| 65 74 61 7b 64 69 6d 65 | 6e 7d 7c 7d 7c 5c 5c 0a |eta{dime|n}|}|\\.|
|00000d00| 25 20 7c 5c 62 6f 6f 6c | 65 61 6e 7b 7c 5c 6d 65 |% |\bool|ean{|\me|
|00000d10| 74 61 7b 6e 61 6d 65 7d | 7c 7d 7c 0a 25 0a 25 20 |ta{name}||}|.%.% |
|00000d20| 54 68 65 20 5c 6d 65 74 | 61 7b 73 74 72 69 6e 67 |The \met|a{string|
|00000d30| 7d 73 20 74 65 73 74 65 | 64 20 62 79 20 7c 5c 65 |}s teste|d by |\e|
|00000d40| 71 75 61 6c 7c 20 6d 61 | 79 20 62 65 20 61 6e 79 |qual| ma|y be any|
|00000d50| 20 73 65 71 75 65 6e 63 | 65 20 6f 66 20 63 6f 6d | sequenc|e of com|
|00000d60| 6d 61 6e 64 73 0a 25 20 | 74 68 61 74 20 65 78 70 |mands.% |that exp|
|00000d70| 61 6e 64 20 74 6f 20 61 | 20 6c 69 73 74 20 6f 66 |and to a| list of|
|00000d80| 20 74 6f 6b 65 6e 73 2e | 20 49 66 20 74 68 65 73 | tokens.| If thes|
|00000d90| 65 20 65 78 70 61 6e 73 | 69 6f 6e 73 20 61 72 65 |e expans|ions are|
|00000da0| 20 65 71 75 61 6c 2c 20 | 74 68 65 6e 0a 25 20 74 | equal, |then.% t|
|00000db0| 68 65 20 70 72 6f 70 6f | 73 69 74 69 6f 6e 20 69 |he propo|sition i|
|00000dc0| 73 20 74 72 75 65 2e 0a | 25 0a 25 20 7c 5c 69 73 |s true..|%.% |\is|
|00000dd0| 6f 64 64 7c 20 69 73 20 | 74 72 75 65 20 69 66 20 |odd| is |true if |
|00000de0| 74 68 65 20 5c 6d 65 74 | 61 7b 6e 75 6d 62 65 72 |the \met|a{number|
|00000df0| 7d 20 69 73 20 6f 64 64 | 2c 20 61 6e 64 20 66 61 |} is odd|, and fa|
|00000e00| 6c 73 65 20 6f 74 68 65 | 72 77 69 73 65 0a 25 20 |lse othe|rwise.% |
|00000e10| 28 65 76 65 6e 20 69 66 | 20 74 68 65 20 61 72 67 |(even if| the arg|
|00000e20| 75 6d 65 6e 74 20 69 73 | 20 6e 6f 74 20 61 20 6e |ument is| not a n|
|00000e30| 75 6d 62 65 72 29 2e 0a | 25 0a 25 20 7c 5c 62 6f |umber)..|%.% |\bo|
|00000e40| 6f 6c 65 61 6e 7b 78 79 | 7a 7d 7c 20 72 65 74 75 |olean{xy|z}| retu|
|00000e50| 72 6e 73 20 74 68 65 20 | 74 72 75 74 68 20 76 61 |rns the |truth va|
|00000e60| 6c 75 65 20 63 6f 6e 74 | 61 69 6e 65 64 20 69 6e |lue cont|ained in|
|00000e70| 20 74 68 65 20 70 72 69 | 6d 69 74 69 76 65 0a 25 | the pri|mitive.%|
|00000e80| 20 5c 54 65 58 5c 20 7c | 5c 69 66 7c 2c 20 7c 5c | \TeX\ ||\if|, |\|
|00000e90| 69 66 78 79 7a 7c 2e 20 | 54 68 69 73 20 69 73 20 |ifxyz|. |This is |
|00000ea0| 75 73 75 61 6c 6c 79 20 | 75 73 65 64 20 77 69 74 |usually |used wit|
|00000eb0| 68 20 7c 5c 6e 65 77 69 | 66 7c 20 63 72 65 61 74 |h |\newi|f| creat|
|00000ec0| 65 64 0a 25 20 74 6f 6b | 65 6e 73 2c 20 62 75 74 |ed.% tok|ens, but|
|00000ed0| 20 63 61 6e 20 61 6c 73 | 6f 20 62 65 20 75 73 65 | can als|o be use|
|00000ee0| 64 20 77 69 74 68 20 7c | 5c 62 6f 6f 6c 65 61 6e |d with ||\boolean|
|00000ef0| 7b 74 72 75 65 7d 7c 20 | 28 7c 5c 69 66 74 72 75 |{true}| |(|\iftru|
|00000f00| 65 7c 29 2c 0a 25 20 7c | 5c 62 6f 6f 6c 65 61 6e |e|),.% ||\boolean|
|00000f10| 7b 6d 6d 6f 64 65 7d 7c | 20 28 7c 5c 69 66 6d 6d |{mmode}|| (|\ifmm|
|00000f20| 6f 64 65 7c 29 20 65 74 | 63 2e 0a 25 0a 25 20 5c |ode|) et|c..%.% \|
|00000f30| 44 65 73 63 72 69 62 65 | 4d 61 63 72 6f 7b 5c 6e |Describe|Macro{\n|
|00000f40| 65 77 62 6f 6f 6c 65 61 | 6e 7d 0a 25 20 20 54 68 |ewboolea|n}.% Th|
|00000f50| 65 20 63 6f 6d 6d 61 6e | 64 73 3a 5c 5c 0a 25 20 |e comman|ds:\\.% |
|00000f60| 20 7c 5c 6e 65 77 62 6f | 6f 6c 65 61 6e 7b 7c 5c | |\newbo|olean{|\|
|00000f70| 6d 65 74 61 7b 6e 61 6d | 65 7d 7c 7d 7c 20 61 6e |meta{nam|e}|}| an|
|00000f80| 64 5c 44 65 73 63 72 69 | 62 65 4d 61 63 72 6f 7b |d\Descri|beMacro{|
|00000f90| 5c 73 65 74 62 6f 6f 6c | 65 61 6e 7d 0a 25 20 20 |\setbool|ean}.% |
|00000fa0| 7c 5c 73 65 74 62 6f 6f | 6c 65 61 6e 7b 7c 5c 6d ||\setboo|lean{|\m|
|00000fb0| 65 74 61 7b 6e 61 6d 65 | 7d 7c 7d 7b 7c 5c 6d 65 |eta{name|}|}{|\me|
|00000fc0| 74 61 7b 76 61 6c 75 65 | 7d 7c 7d 7c 5c 5c 0a 25 |ta{value|}|}|\\.%|
|00000fd0| 20 61 72 65 20 70 72 6f | 76 69 64 65 64 20 73 6f | are pro|vided so|
|00000fe0| 20 74 68 65 20 75 73 65 | 72 20 63 61 6e 20 65 61 | the use|r can ea|
|00000ff0| 73 69 6c 79 20 63 72 65 | 61 74 65 20 61 6e 64 20 |sily cre|ate and |
|00001000| 73 65 74 20 74 68 65 73 | 65 20 66 6c 61 67 73 2e |set thes|e flags.|
|00001010| 0a 25 20 5c 6d 65 74 61 | 7b 76 61 6c 75 65 7d 20 |.% \meta|{value} |
|00001020| 6d 61 79 20 62 65 20 65 | 69 74 68 65 72 20 7c 74 |may be e|ither |t|
|00001030| 72 75 65 7c 20 6f 72 20 | 7c 66 61 6c 73 65 7c 20 |rue| or ||false| |
|00001040| 28 61 6e 79 20 43 61 53 | 65 29 2e 0a 25 0a 25 20 |(any CaS|e)..%.% |
|00001050| 4e 6f 74 65 20 74 68 61 | 74 20 74 68 65 72 65 20 |Note tha|t there |
|00001060| 69 73 20 6e 6f 20 70 72 | 65 63 65 64 65 6e 63 65 |is no pr|ecedence|
|00001070| 20 62 65 74 77 65 65 6e | 20 7c 5c 61 6e 64 7c 20 | between| |\and| |
|00001080| 61 6e 64 20 7c 5c 6f 72 | 7c 2e 0a 25 20 54 68 65 |and |\or||..% The|
|00001090| 20 70 72 6f 70 6f 73 69 | 74 69 6f 6e 20 69 73 20 | proposi|tion is |
|000010a0| 65 76 61 6c 75 61 74 65 | 64 20 69 6e 20 61 20 6c |evaluate|d in a l|
|000010b0| 65 66 74 20 72 69 67 68 | 74 20 6d 61 6e 6e 65 72 |eft righ|t manner|
|000010c0| 2e 20 7c 5c 6e 6f 74 7c | 20 6f 6e 6c 79 0a 25 20 |. |\not|| only.% |
|000010d0| 61 70 70 6c 69 65 73 20 | 74 6f 20 74 68 65 20 69 |applies |to the i|
|000010e0| 6d 6d 65 64 69 61 74 65 | 6c 79 20 66 6f 6c 6c 6f |mmediate|ly follo|
|000010f0| 77 69 6e 67 20 70 72 6f | 70 6f 73 69 74 69 6f 6e |wing pro|position|
|00001100| 2e 20 28 54 68 69 73 20 | 69 73 20 63 6f 6e 73 69 |. (This |is consi|
|00001110| 73 74 65 6e 74 0a 25 20 | 77 69 74 68 20 4c 61 6d |stent.% |with Lam|
|00001120| 70 6f 72 74 27 73 20 7c | 69 66 74 68 65 6e 2e 73 |port's ||ifthen.s|
|00001130| 74 79 7c 2e 20 49 6e 20 | 74 68 69 73 20 73 74 79 |ty|. In |this sty|
|00001140| 6c 65 2c 20 74 68 6f 75 | 67 68 20 74 68 65 20 74 |le, thou|gh the t|
|00001150| 65 73 74 20 69 73 0a 25 | 20 60 6c 61 7a 69 6c 79 |est is.%| `lazily|
|00001160| 27 20 65 76 61 6c 75 61 | 74 65 64 2c 20 73 6f 20 |' evalua|ted, so |
|00001170| 66 6f 72 20 69 6e 73 74 | 61 6e 63 65 20 69 66 20 |for inst|ance if |
|00001180| 74 68 65 20 66 69 72 73 | 74 20 70 72 6f 70 6f 73 |the firs|t propos|
|00001190| 69 74 69 6f 6e 20 69 6e | 20 61 6e 0a 25 20 7c 5c |ition in| an.% |\|
|000011a0| 6f 72 7c 20 69 73 20 74 | 72 75 65 2c 20 74 68 65 |or| is t|rue, the|
|000011b0| 20 73 65 63 6f 6e 64 20 | 6f 6e 65 20 69 73 20 73 | second |one is s|
|000011c0| 6b 69 70 70 65 64 2e 20 | 28 4f 6e 20 74 68 65 20 |kipped. |(On the |
|000011d0| 73 65 63 6f 6e 64 20 70 | 61 73 73 2d 2d 2d 54 68 |second p|ass---Th|
|000011e0| 65 0a 25 20 66 69 72 73 | 74 20 70 61 73 73 20 69 |e.% firs|t pass i|
|000011f0| 6e 20 61 6e 20 7c 5c 65 | 64 65 66 7c 20 65 78 70 |n an |\e|def| exp|
|00001200| 61 6e 64 73 20 63 6c 61 | 75 73 65 73 20 69 6e 20 |ands cla|uses in |
|00001210| 61 6c 6c 20 70 72 6f 70 | 6f 73 69 74 69 6f 6e 73 |all prop|ositions|
|00001220| 29 2e 0a 25 0a 25 20 41 | 70 61 72 74 20 66 72 6f |)..%.% A|part fro|
|00001230| 6d 20 74 68 65 20 61 64 | 64 69 74 69 6f 6e 20 6f |m the ad|dition o|
|00001240| 66 20 74 68 65 20 65 78 | 74 72 61 20 61 74 6f 6d |f the ex|tra atom|
|00001250| 69 63 20 70 72 6f 70 6f | 73 69 74 69 6f 6e 73 20 |ic propo|sitions |
|00001260| 7c 5c 69 73 6f 64 64 7c | 2c 0a 25 20 7c 5c 62 6f ||\isodd||,.% |\bo|
|00001270| 6f 6c 65 61 6e 7c 20 61 | 6e 64 20 7c 5c 6c 65 6e |olean| a|nd |\len|
|00001280| 67 74 68 74 65 73 74 7c | 2c 20 74 68 65 20 6f 6e |gthtest||, the on|
|00001290| 6c 79 20 6b 6e 6f 77 6e | 20 69 6e 63 6f 6d 70 61 |ly known| incompa|
|000012a0| 74 69 62 69 6c 69 74 79 | 20 69 73 20 74 68 61 74 |tibility| is that|
|000012b0| 0a 25 20 69 6e 20 74 68 | 69 73 20 70 61 63 6b 61 |.% in th|is packa|
|000012c0| 67 65 20 74 68 65 20 65 | 78 70 72 65 73 73 69 6f |ge the e|xpressio|
|000012d0| 6e 7c 5c 6e 6f 74 5c 6e | 6f 74 7c 5c 6d 65 74 61 |n|\not\n|ot|\meta|
|000012e0| 7b 50 7d 20 69 73 20 65 | 71 75 69 76 61 6c 65 6e |{P} is e|quivalen|
|000012f0| 74 20 74 6f 0a 25 20 5c | 6d 65 74 61 7b 50 7d 2e |t to.% \|meta{P}.|
|00001300| 0a 25 20 48 6f 77 65 76 | 65 72 20 69 6e 20 74 68 |.% Howev|er in th|
|00001310| 65 20 6f 72 69 67 69 6e | 61 6c 20 73 74 79 6c 65 |e origin|al style|
|00001320| 20 69 74 20 77 61 73 20 | 65 71 75 69 76 61 6c 65 | it was |equivale|
|00001330| 6e 74 20 74 6f 20 7c 5c | 6e 6f 74 7c 5c 6d 65 74 |nt to |\|not|\met|
|00001340| 61 7b 50 7d 2e 0a 25 20 | 54 68 69 73 20 69 73 20 |a{P}..% |This is |
|00001350| 69 6e 74 65 6e 74 69 6f | 6e 61 6c 20 28 62 75 67 |intentio|nal (bug|
|00001360| 20 66 69 78 3a 2d 29 2e | 0a 25 0a 25 20 5c 44 65 | fix:-).|.%.% \De|
|00001370| 73 63 72 69 62 65 4d 61 | 63 72 6f 7b 5c 77 68 69 |scribeMa|cro{\whi|
|00001380| 6c 65 64 6f 7d 0a 25 20 | 54 68 65 20 63 6f 6d 6d |ledo}.% |The comm|
|00001390| 61 6e 64 20 7c 5c 77 68 | 69 6c 65 64 6f 7c 20 69 |and |\wh|iledo| i|
|000013a0| 73 20 61 6c 73 6f 20 64 | 65 66 69 6e 65 64 20 28 |s also d|efined (|
|000013b0| 63 6f 70 69 65 64 20 64 | 69 72 65 63 74 6c 79 20 |copied d|irectly |
|000013c0| 66 72 6f 6d 0a 25 20 54 | 68 65 20 5c 4c 61 54 65 |from.% T|he \LaTe|
|000013d0| 58 32 2e 30 39 20 64 65 | 66 69 6e 69 74 69 6f 6e |X2.09 de|finition|
|000013e0| 29 2e 0a 25 0a 25 20 7c | 5c 77 68 69 6c 65 64 6f |)..%.% ||\whiledo|
|000013f0| 7b 7c 5c 6d 65 74 61 7b | 74 65 73 74 7d 7c 7d 7b |{|\meta{|test}|}{|
|00001400| 7c 5c 6d 65 74 61 7b 77 | 68 69 6c 65 20 63 6c 61 ||\meta{w|hile cla|
|00001410| 75 73 65 7d 7c 7d 7c 0a | 25 0a 25 20 57 69 74 68 |use}|}|.|%.% With|
|00001420| 20 5c 6d 65 74 61 7b 74 | 65 73 74 7d 20 61 73 20 | \meta{t|est} as |
|00001430| 61 62 6f 76 65 2c 20 72 | 65 70 65 61 74 65 64 6c |above, r|epeatedl|
|00001440| 79 20 65 78 65 63 75 74 | 65 73 20 5c 6d 65 74 61 |y execut|es \meta|
|00001450| 7b 77 68 69 6c 65 20 63 | 6c 61 75 73 65 7d 0a 25 |{while c|lause}.%|
|00001460| 20 77 68 69 6c 65 20 74 | 68 65 20 74 65 73 74 20 | while t|he test |
|00001470| 72 65 6d 61 69 6e 73 20 | 74 72 75 65 2e 0a 25 0a |remains |true..%.|
|00001480| 25 20 5c 53 74 6f 70 45 | 76 65 6e 74 75 61 6c 6c |% \StopE|ventuall|
|00001490| 79 7b 7d 0a 25 0a 25 20 | 5c 73 65 63 74 69 6f 6e |y{}.%.% |\section|
|000014a0| 7b 54 68 65 20 49 6d 70 | 6c 65 6d 65 6e 74 61 74 |{The Imp|lementat|
|000014b0| 69 6f 6e 7d 0a 25 0a 25 | 20 20 20 20 5c 62 65 67 |ion}.%.%| \beg|
|000014c0| 69 6e 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 25 3c |in{macro|code}.%<|
|000014d0| 2a 70 61 63 6b 61 67 65 | 3e 0a 25 20 20 20 20 5c |*package|>.% \|
|000014e0| 65 6e 64 7b 6d 61 63 72 | 6f 63 6f 64 65 7d 0a 25 |end{macr|ocode}.%|
|000014f0| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00001500| 7b 5c 54 45 40 74 68 72 | 6f 77 7d 0a 25 20 49 6e |{\TE@thr|ow}.% In|
|00001510| 20 6f 72 64 65 72 20 74 | 6f 20 73 75 70 70 6f 72 | order t|o suppor|
|00001520| 74 20 74 68 65 20 73 79 | 6e 74 61 78 20 6f 66 20 |t the sy|ntax of |
|00001530| 7c 69 66 74 68 65 6e 2e | 73 74 79 7c 2c 20 77 68 ||ifthen.|sty|, wh|
|00001540| 69 63 68 20 61 6c 6c 6f | 77 73 20 61 63 63 65 73 |ich allo|ws acces|
|00001550| 73 0a 25 20 74 6f 20 74 | 68 65 20 70 72 69 6d 69 |s.% to t|he primi|
|00001560| 74 69 76 65 20 5c 54 65 | 58 5c 20 73 79 6e 74 61 |tive \Te|X\ synta|
|00001570| 78 20 66 6f 72 20 61 20 | 6e 75 6d 65 72 69 63 20 |x for a |numeric |
|00001580| 74 65 73 74 2c 20 72 61 | 74 68 65 72 20 74 68 61 |test, ra|ther tha|
|00001590| 6e 20 61 20 7c 7b 7d 7c | 0a 25 20 64 65 6c 69 6d |n a |{}||.% delim|
|000015a0| 69 74 65 64 20 61 72 67 | 75 6d 65 6e 74 20 66 6f |ited arg|ument fo|
|000015b0| 72 6d 2c 20 69 74 20 69 | 73 20 6d 6f 73 74 20 63 |rm, it i|s most c|
|000015c0| 6f 6e 76 65 6e 69 65 6e | 74 20 74 6f 20 77 6f 72 |onvenien|t to wor|
|000015d0| 6b 20 60 77 69 74 68 69 | 6e 27 20 61 6e 0a 25 20 |k `withi|n' an.% |
|000015e0| 7c 5c 69 66 6e 75 6d 7c | 2e 20 7c 5c 69 66 74 40 ||\ifnum||. |\ift@|
|000015f0| 74 68 72 6f 77 7c 20 60 | 74 68 72 6f 77 73 27 20 |throw| `|throws' |
|00001600| 79 6f 75 20 6f 75 74 20 | 6f 66 20 74 68 65 20 63 |you out |of the c|
|00001610| 75 72 72 65 6e 74 20 7c | 5c 69 66 6e 75 6d 7c 20 |urrent ||\ifnum| |
|00001620| 73 6f 0a 25 20 74 68 61 | 74 20 79 6f 75 20 63 61 |so.% tha|t you ca|
|00001630| 6e 20 28 65 67 29 20 73 | 74 61 72 74 20 61 6e 20 |n (eg) s|tart an |
|00001640| 7c 5c 69 66 64 69 6d 7c | 20 66 6f 72 20 74 68 65 ||\ifdim|| for the|
|00001650| 20 6c 65 6e 67 74 68 20 | 74 65 73 74 73 2e 0a 25 | length |tests..%|
|00001660| 20 20 20 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f | \beg|in{macro|
|00001670| 63 6f 64 65 7d 0a 5c 64 | 65 66 5c 54 45 40 74 68 |code}.\d|ef\TE@th|
|00001680| 72 6f 77 7b 5c 40 6e 65 | 3d 5c 40 6e 65 5c 6e 6f |row{\@ne|=\@ne\no|
|00001690| 65 78 70 61 6e 64 5c 66 | 69 7d 0a 25 20 20 20 20 |expand\f|i}.% |
|000016a0| 5c 65 6e 64 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |\end{mac|rocode}.|
|000016b0| 25 20 5c 65 6e 64 7b 6d | 61 63 72 6f 7d 0a 25 0a |% \end{m|acro}.%.|
|000016c0| 25 20 5c 62 65 67 69 6e | 7b 6d 61 63 72 6f 7d 7b |% \begin|{macro}{|
|000016d0| 5c 62 6f 6f 6c 65 61 6e | 7d 0a 25 20 41 20 6e 6f |\boolean|}.% A no|
|000016e0| 6e 2d 73 74 61 6e 64 61 | 72 64 20 65 78 74 65 6e |n-standa|rd exten|
|000016f0| 73 69 6f 6e 20 74 6f 20 | 7c 69 66 74 68 65 6e 7c |sion to ||ifthen||
|00001700| 2c 20 73 75 70 70 6f 72 | 74 69 6e 67 20 62 6f 6f |, suppor|ting boo|
|00001710| 6c 65 61 6e 20 77 61 73 | 0a 25 20 70 72 65 76 69 |lean was|.% previ|
|00001720| 6f 75 73 6c 79 20 61 76 | 61 69 6c 61 62 6c 65 2c |ously av|ailable,|
|00001730| 20 74 68 69 73 20 69 73 | 20 61 20 73 69 6d 70 6c | this is| a simpl|
|00001740| 65 72 20 69 6d 70 6c 65 | 6d 65 6e 74 61 74 69 6f |er imple|mentatio|
|00001750| 6e 2e 0a 25 20 20 20 20 | 5c 62 65 67 69 6e 7b 6d |n..% |\begin{m|
|00001760| 61 63 72 6f 63 6f 64 65 | 7d 0a 5c 64 65 66 5c 62 |acrocode|}.\def\b|
|00001770| 6f 6f 6c 65 61 6e 23 31 | 23 32 7b 25 0a 20 20 5c |oolean#1|#2{%. \|
|00001780| 54 45 40 74 68 72 6f 77 | 5c 65 78 70 61 6e 64 61 |TE@throw|\expanda|
|00001790| 66 74 65 72 5c 6e 6f 65 | 78 70 61 6e 64 5c 63 73 |fter\noe|xpand\cs|
|000017a0| 6e 61 6d 65 20 69 66 23 | 31 5c 65 6e 64 63 73 6e |name if#|1\endcsn|
|000017b0| 61 6d 65 23 32 7d 0a 25 | 20 20 20 20 5c 65 6e 64 |ame#2}.%| \end|
|000017c0| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 25 20 5c 65 |{macroco|de}.% \e|
|000017d0| 6e 64 7b 6d 61 63 72 6f | 7d 0a 25 0a 25 20 5c 62 |nd{macro|}.%.% \b|
|000017e0| 65 67 69 6e 7b 6d 61 63 | 72 6f 7d 7b 5c 54 45 40 |egin{mac|ro}{\TE@|
|000017f0| 6c 65 6e 67 74 68 7d 0a | 25 20 54 65 73 74 69 6e |length}.|% Testin|
|00001800| 67 20 6c 65 6e 67 74 68 | 73 2e 20 7c 23 31 7c 20 |g length|s. |#1| |
|00001810| 69 73 20 74 68 65 20 74 | 65 73 74 2e 20 54 68 65 |is the t|est. The|
|00001820| 20 65 78 74 72 61 20 61 | 72 67 75 6d 65 6e 74 20 | extra a|rgument |
|00001830| 67 6f 62 62 6c 65 73 20 | 73 70 61 63 65 73 2e 0a |gobbles |spaces..|
|00001840| 25 20 20 20 20 5c 62 65 | 67 69 6e 7b 6d 61 63 72 |% \be|gin{macr|
|00001850| 6f 63 6f 64 65 7d 0a 5c | 64 65 66 5c 54 45 40 6c |ocode}.\|def\TE@l|
|00001860| 65 6e 67 74 68 23 31 23 | 32 7b 5c 54 45 40 74 68 |ength#1#|2{\TE@th|
|00001870| 72 6f 77 5c 6e 6f 65 78 | 70 61 6e 64 5c 69 66 64 |row\noex|pand\ifd|
|00001880| 69 6d 23 31 23 32 7d 0a | 25 20 20 20 20 5c 65 6e |im#1#2}.|% \en|
|00001890| 64 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 25 20 5c |d{macroc|ode}.% \|
|000018a0| 65 6e 64 7b 6d 61 63 72 | 6f 7d 0a 25 0a 25 20 5c |end{macr|o}.%.% \|
|000018b0| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 7d 7b 5c 54 45 |begin{ma|cro}{\TE|
|000018c0| 40 6f 64 64 7d 0a 25 20 | 5c 62 65 67 69 6e 7b 6d |@odd}.% |\begin{m|
|000018d0| 61 63 72 6f 7d 7b 5c 54 | 45 40 40 6f 64 64 7d 0a |acro}{\T|E@@odd}.|
|000018e0| 25 20 54 65 73 74 69 6e | 67 20 6f 64 64 2f 65 76 |% Testin|g odd/ev|
|000018f0| 65 6e 2e 20 54 68 69 73 | 20 69 73 20 74 72 75 65 |en. This| is true|
|00001900| 20 69 66 20 7c 23 31 7c | 20 69 73 20 61 6e 20 6f | if |#1|| is an o|
|00001910| 64 64 20 6e 75 6d 62 65 | 72 2c 20 61 6e 64 20 66 |dd numbe|r, and f|
|00001920| 61 6c 73 65 0a 25 20 6f | 74 68 65 72 77 69 73 65 |alse.% o|therwise|
|00001930| 20 28 65 76 65 6e 20 69 | 66 20 7c 23 31 7c 20 69 | (even i|f |#1| i|
|00001940| 73 20 6e 6f 74 20 61 20 | 6e 75 6d 62 65 72 20 61 |s not a |number a|
|00001950| 74 20 61 6c 6c 29 2e 0a | 25 0a 25 20 49 74 20 69 |t all)..|%.% It i|
|00001960| 73 20 68 61 72 64 20 74 | 6f 20 6d 61 6b 65 20 74 |s hard t|o make t|
|00001970| 68 69 73 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 72 |his comp|letely r|
|00001980| 65 6c 69 61 62 6c 65 2e | 20 48 65 72 65 20 49 20 |eliable.| Here I |
|00001990| 68 61 76 65 20 65 72 72 | 65 64 20 6f 6e 20 74 68 |have err|ed on th|
|000019a0| 65 0a 25 20 73 69 64 65 | 20 6f 66 20 73 61 66 65 |e.% side| of safe|
|000019b0| 74 79 2e 20 54 68 69 73 | 20 73 68 6f 75 6c 64 20 |ty. This| should |
|000019c0| 6e 6f 74 20 67 65 6e 65 | 72 61 74 65 20 61 20 5c |not gene|rate a \|
|000019d0| 54 65 58 5c 20 65 72 72 | 6f 72 20 69 66 20 67 69 |TeX\ err|or if gi|
|000019e0| 76 65 6e 20 61 6e 79 0a | 25 20 72 6f 62 75 73 74 |ven any.|% robust|
|000019f0| 20 63 6f 6d 6d 61 6e 64 | 73 20 61 73 20 69 74 73 | command|s as its|
|00001a00| 20 61 72 67 75 6d 65 6e | 74 2e 20 48 6f 77 65 76 | argumen|t. Howev|
|00001a10| 65 72 20 69 74 20 72 65 | 74 75 72 6e 73 20 74 72 |er it re|turns tr|
|00001a20| 75 65 20 6f 6e 20 61 6e | 79 0a 25 20 61 72 67 75 |ue on an|y.% argu|
|00001a30| 6d 65 6e 74 20 74 68 61 | 74 20 5c 65 6d 70 68 7b |ment tha|t \emph{|
|00001a40| 73 74 61 72 74 73 7d 20 | 77 69 74 68 20 61 6e 20 |starts} |with an |
|00001a50| 6f 64 64 20 6e 75 6d 62 | 65 72 20 7c 31 31 78 78 |odd numb|er |11xx|
|00001a60| 7c 20 77 68 69 63 68 20 | 69 73 20 62 61 64 2c 0a || which |is bad,.|
|00001a70| 25 20 61 6e 64 20 69 74 | 20 63 61 6e 20 6e 6f 74 |% and it| can not|
|00001a80| 20 64 65 61 6c 20 77 69 | 74 68 20 5c 54 65 58 27 | deal wi|th \TeX'|
|00001a90| 73 20 63 6f 75 6e 74 20 | 72 65 67 69 73 74 65 72 |s count |register|
|00001aa0| 73 2c 20 61 6c 74 68 6f | 75 67 68 20 5c 4c 61 54 |s, altho|ugh \LaT|
|00001ab0| 65 58 5c 0a 25 20 63 6f | 75 6e 74 65 72 73 20 77 |eX\.% co|unters w|
|00001ac0| 6f 72 6b 20 28 76 69 61 | 20 7c 5c 76 61 6c 75 65 |ork (via| |\value|
|00001ad0| 7c 29 2e 0a 25 20 5c 63 | 68 61 6e 67 65 73 7b 76 ||)..% \c|hanges{v|
|00001ae0| 31 2e 30 62 7d 7b 31 39 | 39 33 2f 31 32 2f 31 37 |1.0b}{19|93/12/17|
|00001af0| 7d 7b 49 6d 70 72 6f 76 | 65 20 5c 63 6d 64 5c 69 |}{Improv|e \cmd\i|
|00001b00| 73 6f 64 64 7d 0a 25 20 | 5c 63 68 61 6e 67 65 73 |sodd}.% |\changes|
|00001b10| 7b 76 31 2e 30 63 7d 7b | 31 39 39 34 2f 30 31 2f |{v1.0c}{|1994/01/|
|00001b20| 32 30 7d 7b 49 6d 70 72 | 6f 76 65 20 5c 63 6d 64 |20}{Impr|ove \cmd|
|00001b30| 5c 69 73 6f 64 64 5c 20 | 61 67 61 69 6e 7d 0a 25 |\isodd\ |again}.%|
|00001b40| 20 20 20 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f | \beg|in{macro|
|00001b50| 63 6f 64 65 7d 0a 5c 64 | 65 66 5c 54 45 40 6f 64 |code}.\d|ef\TE@od|
|00001b60| 64 23 31 23 32 7b 25 0a | 20 20 5c 54 45 40 74 68 |d#1#2{%.| \TE@th|
|00001b70| 72 6f 77 5c 6e 6f 65 78 | 70 61 6e 64 5c 54 45 40 |row\noex|pand\TE@|
|00001b80| 40 6f 64 64 23 31 5c 6e | 6f 65 78 70 61 6e 64 5c |@odd#1\n|oexpand\|
|00001b90| 40 6e 69 6c 5c 6e 6f 65 | 78 70 61 6e 64 5c 69 66 |@nil\noe|xpand\if|
|00001ba0| 6f 64 64 5c 63 6f 75 6e | 74 40 23 32 7d 0a 25 20 |odd\coun|t@#2}.% |
|00001bb0| 20 20 20 5c 65 6e 64 7b | 6d 61 63 72 6f 63 6f 64 | \end{|macrocod|
|00001bc0| 65 7d 0a 25 0a 25 20 7c | 5c 54 45 40 40 6f 64 64 |e}.%.% ||\TE@@odd|
|00001bd0| 7c 20 69 73 20 6e 6f 74 | 20 65 78 70 61 6e 64 65 || is not| expande|
|00001be0| 64 20 6f 6e 20 74 68 65 | 20 66 69 72 73 74 20 70 |d on the| first p|
|00001bf0| 61 73 73 2e 0a 25 20 20 | 20 20 5c 62 65 67 69 6e |ass..% | \begin|
|00001c00| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 5c 64 65 66 |{macroco|de}.\def|
|00001c10| 5c 54 45 40 40 6f 64 64 | 23 31 23 32 5c 40 6e 69 |\TE@@odd|#1#2\@ni|
|00001c20| 6c 7b 25 0a 20 20 5c 40 | 64 65 66 61 75 6c 74 75 |l{%. \@|defaultu|
|00001c30| 6e 69 74 73 0a 20 20 5c | 63 6f 75 6e 74 40 5c 69 |nits. \|count@\i|
|00001c40| 66 2d 23 31 2d 30 5c 65 | 6c 73 65 30 5c 65 78 70 |f-#1-0\e|lse0\exp|
|00001c50| 61 6e 64 61 66 74 65 72 | 23 31 5c 66 69 23 32 5c |andafter|#1\fi#2\|
|00001c60| 72 65 6c 61 78 5c 40 6e | 6e 69 6c 7d 0a 25 20 20 |relax\@n|nil}.% |
|00001c70| 20 20 5c 65 6e 64 7b 6d | 61 63 72 6f 63 6f 64 65 | \end{m|acrocode|
|00001c80| 7d 0a 25 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 7d 0a |}.% \end|{macro}.|
|00001c90| 25 20 5c 65 6e 64 7b 6d | 61 63 72 6f 7d 0a 25 0a |% \end{m|acro}.%.|
|00001ca0| 25 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |% \begi|n{macro}|
|00001cb0| 7b 5c 54 45 40 72 65 70 | 6c 7d 0a 25 20 7c 5c 54 |{\TE@rep|l}.% |\T|
|00001cc0| 45 40 72 65 70 6c 7c 20 | 72 65 70 6c 61 63 65 73 |E@repl| |replaces|
|00001cd0| 20 74 68 65 20 73 69 6e | 67 6c 65 20 74 6f 6b 65 | the sin|gle toke|
|00001ce0| 6e 20 7c 23 31 7c 20 62 | 79 20 7c 23 32 7c 2e 20 |n |#1| b|y |#2|. |
|00001cf0| 28 4e 6f 74 20 77 69 74 | 68 69 6e 20 7c 7b 7d 7c |(Not wit|hin |{}||
|00001d00| 0a 25 20 67 72 6f 75 70 | 73 2e 29 20 49 74 20 69 |.% group|s.) It i|
|00001d10| 73 20 75 73 65 64 20 74 | 6f 20 72 65 70 6c 61 63 |s used t|o replac|
|00001d20| 65 20 7c 5c 6f 72 7c 20 | 62 79 20 7c 5c 54 45 40 |e |\or| |by |\TE@|
|00001d30| 6f 72 7c 20 77 69 74 68 | 6f 75 74 20 74 68 65 20 |or| with|out the |
|00001d40| 6e 65 65 64 20 74 6f 0a | 25 20 72 65 64 65 66 69 |need to.|% redefi|
|00001d50| 6e 65 20 7c 5c 6f 72 7c | 2e 20 45 61 72 6c 69 65 |ne |\or||. Earlie|
|00001d60| 72 20 76 65 72 73 69 6f | 6e 73 20 6a 75 73 74 20 |r versio|ns just |
|00001d70| 7c 5c 6c 65 74 5c 6f 72 | 5c 54 45 40 6f 72 7c 20 ||\let\or|\TE@or| |
|00001d80| 62 75 74 20 74 68 69 73 | 20 68 61 73 20 61 0a 25 |but this| has a.%|
|00001d90| 20 62 61 64 20 65 66 66 | 65 63 74 20 6f 6e 20 74 | bad eff|ect on t|
|00001da0| 68 65 20 65 78 70 61 6e | 73 69 6f 6e 20 6f 66 20 |he expan|sion of |
|00001db0| 63 6f 6d 6d 61 6e 64 73 | 20 77 68 69 63 68 20 75 |commands| which u|
|00001dc0| 73 65 20 74 68 65 20 70 | 72 69 6d 69 74 69 76 65 |se the p|rimitive|
|00001dd0| 0a 25 20 7c 5c 6f 72 7c | 20 69 6e 74 65 72 6e 61 |.% |\or|| interna|
|00001de0| 6c 6c 79 2c 20 65 67 20 | 7c 5c 61 6c 70 68 7c 2c |lly, eg ||\alph|,|
|00001df0| 20 61 6e 64 20 73 6f 20 | 63 61 75 73 65 64 20 73 | and so |caused s|
|00001e00| 75 72 70 72 69 73 69 6e | 67 20 72 65 73 75 6c 74 |urprisin|g result|
|00001e10| 73 20 69 66 0a 25 20 74 | 68 65 73 65 20 63 6f 6d |s if.% t|hese com|
|00001e20| 6d 61 6e 64 73 20 77 65 | 72 65 20 75 73 65 64 20 |mands we|re used |
|00001e30| 69 6e 73 69 64 65 20 7c | 5c 65 71 75 61 6c 7c 2e |inside ||\equal|.|
|00001e40| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|00001e50| 68 7d 7b 31 39 39 34 2f | 30 35 2f 31 34 7d 7b 6d |h}{1994/|05/14}{m|
|00001e60| 61 63 72 6f 20 61 64 64 | 65 64 7d 0a 25 20 20 20 |acro add|ed}.% |
|00001e70| 20 5c 62 65 67 69 6e 7b | 6d 61 63 72 6f 63 6f 64 | \begin{|macrocod|
|00001e80| 65 7d 0a 5c 64 65 66 5c | 54 45 40 72 65 70 6c 23 |e}.\def\|TE@repl#|
|00001e90| 31 23 32 7b 25 0a 20 20 | 5c 6c 6f 6e 67 5c 64 65 |1#2{%. |\long\de|
|00001ea0| 66 5c 40 74 65 6d 70 63 | 23 23 31 23 31 23 23 32 |f\@tempc|##1#1##2|
|00001eb0| 7b 25 0a 20 20 20 20 5c | 64 65 66 5c 40 74 65 6d |{%. \|def\@tem|
|00001ec0| 70 61 7b 23 23 32 7d 5c | 64 65 66 5c 40 74 65 6d |pa{##2}\|def\@tem|
|00001ed0| 70 62 7b 5c 40 74 65 6d | 70 63 7d 25 0a 20 20 20 |pb{\@tem|pc}%. |
|00001ee0| 20 5c 69 66 78 5c 40 74 | 65 6d 70 61 5c 40 74 65 | \ifx\@t|empa\@te|
|00001ef0| 6d 70 62 0a 20 20 20 20 | 20 5c 74 6f 6b 73 40 5c |mpb. | \toks@\|
|00001f00| 65 78 70 61 6e 64 61 66 | 74 65 72 7b 5c 74 68 65 |expandaf|ter{\the|
|00001f10| 5c 74 6f 6b 73 40 23 23 | 31 7d 25 0a 20 20 20 20 |\toks@##|1}%. |
|00001f20| 20 5c 65 78 70 61 6e 64 | 61 66 74 65 72 5c 40 67 | \expand|after\@g|
|00001f30| 6f 62 62 6c 65 0a 20 20 | 20 20 5c 65 6c 73 65 0a |obble. | \else.|
|00001f40| 20 20 20 20 20 20 5c 74 | 6f 6b 73 40 5c 65 78 70 | \t|oks@\exp|
|00001f50| 61 6e 64 61 66 74 65 72 | 7b 5c 74 68 65 5c 74 6f |andafter|{\the\to|
|00001f60| 6b 73 40 23 23 31 23 32 | 7d 25 0a 20 20 20 20 5c |ks@##1#2|}%. \|
|00001f70| 65 78 70 61 6e 64 61 66 | 74 65 72 5c 40 74 65 6d |expandaf|ter\@tem|
|00001f80| 70 63 0a 20 20 20 20 5c | 66 69 0a 20 20 20 20 23 |pc. \|fi. #|
|00001f90| 23 32 7d 25 0a 20 20 5c | 65 78 70 61 6e 64 61 66 |#2}%. \|expandaf|
|00001fa0| 74 65 72 5c 74 6f 6b 73 | 40 5c 65 78 70 61 6e 64 |ter\toks|@\expand|
|00001fb0| 61 66 74 65 72 7b 5c 65 | 78 70 61 6e 64 61 66 74 |after{\e|xpandaft|
|00001fc0| 65 72 7d 25 0a 20 20 5c | 65 78 70 61 6e 64 61 66 |er}%. \|expandaf|
|00001fd0| 74 65 72 5c 40 74 65 6d | 70 63 5c 74 68 65 5c 74 |ter\@tem|pc\the\t|
|00001fe0| 6f 6b 73 40 23 31 5c 40 | 74 65 6d 70 63 7d 0a 25 |oks@#1\@|tempc}.%|
|00001ff0| 20 20 20 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 63 6f | \end|{macroco|
|00002000| 64 65 7d 0a 25 20 20 5c | 65 6e 64 7b 6d 61 63 72 |de}.% \|end{macr|
|00002010| 6f 7d 0a 25 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |o}.%.%.%| \begin{|
|00002020| 6d 61 63 72 6f 7d 7b 5c | 69 66 74 68 65 6e 65 6c |macro}{\|ifthenel|
|00002030| 73 65 7d 0a 25 20 54 68 | 65 20 72 65 6d 61 69 6e |se}.% Th|e remain|
|00002040| 69 6e 67 20 6d 61 63 72 | 6f 73 20 69 6e 20 74 68 |ing macr|os in th|
|00002050| 69 73 20 66 69 6c 65 20 | 61 72 65 20 64 65 72 69 |is file |are deri|
|00002060| 76 65 64 20 66 72 6f 6d | 20 74 68 65 20 6f 6e 65 |ved from| the one|
|00002070| 73 20 69 6e 0a 25 20 7c | 69 66 74 68 65 6e 2e 73 |s in.% ||ifthen.s|
|00002080| 74 79 7c 20 62 75 74 20 | 72 65 63 6f 64 65 64 20 |ty| but |recoded |
|00002090| 61 6e 64 20 73 69 6d 70 | 6c 69 66 69 65 64 2e 20 |and simp|lified. |
|000020a0| 54 68 65 20 6d 61 69 6e | 20 73 69 6d 70 6c 69 66 |The main| simplif|
|000020b0| 69 63 61 74 69 6f 6e 20 | 69 73 0a 25 20 74 68 61 |ication |is.% tha|
|000020c0| 74 20 74 68 65 20 6f 72 | 69 67 69 6e 61 6c 20 73 |t the or|iginal s|
|000020d0| 74 79 6c 65 20 28 61 6e | 64 20 74 68 65 20 7c 5c |tyle (an|d the |\|
|000020e0| 62 6f 6f 6c 65 61 6e 7c | 20 65 78 74 65 6e 73 69 |boolean|| extensi|
|000020f0| 6f 6e 73 29 20 65 78 70 | 72 65 73 73 65 64 0a 25 |ons) exp|ressed.%|
|00002100| 20 6c 6f 67 69 63 61 6c | 20 76 61 6c 75 65 73 20 | logical| values |
|00002110| 61 6c 77 61 79 73 20 69 | 6e 20 74 65 72 6d 73 20 |always i|n terms |
|00002120| 6f 66 20 7c 5c 69 66 6e | 75 6d 7c 2e 20 41 73 20 |of |\ifn|um|. As |
|00002130| 7c 5c 66 69 7c 20 69 73 | 20 60 75 6e 74 79 70 65 ||\fi| is| `untype|
|00002140| 64 27 20 74 68 69 73 0a | 25 20 69 73 20 6e 6f 74 |d' this.|% is not|
|00002150| 20 6e 65 63 65 73 73 61 | 72 79 2c 20 73 6f 20 66 | necessa|ry, so f|
|00002160| 6f 72 20 65 78 61 6d 70 | 6c 65 20 74 68 65 20 6c |or examp|le the l|
|00002170| 65 6e 67 74 68 20 74 65 | 73 74 73 20 63 61 6e 20 |ength te|sts can |
|00002180| 72 65 74 75 72 6e 20 76 | 61 6c 75 65 73 0a 25 20 |return v|alues.% |
|00002190| 76 69 61 20 7c 5c 69 66 | 64 69 6d 7c 2c 20 74 68 |via |\if|dim|, th|
|000021a0| 65 20 74 72 61 69 6c 69 | 6e 67 20 7c 5c 66 69 7c |e traili|ng |\fi||
|000021b0| 20 77 69 6c 6c 20 6e 6f | 74 20 63 6f 6d 70 6c 61 | will no|t compla|
|000021c0| 69 6e 2c 20 65 76 65 6e | 20 74 68 6f 75 67 68 20 |in, even| though |
|000021d0| 69 74 20 77 61 73 0a 25 | 20 60 65 78 70 65 63 74 |it was.%| `expect|
|000021e0| 69 6e 67 27 20 61 6e 20 | 7c 5c 69 66 6e 75 6d 7c |ing' an ||\ifnum||
|000021f0| 2e 20 41 6c 73 6f 20 74 | 68 65 20 73 79 73 74 65 |. Also t|he syste|
|00002200| 6d 20 6f 66 20 70 61 73 | 73 69 6e 67 20 69 6e 66 |m of pas|sing inf|
|00002210| 6f 72 6d 61 74 69 6f 6e | 20 76 69 61 0a 25 20 6d |ormation| via.% m|
|00002220| 61 63 72 6f 73 20 65 78 | 70 61 6e 64 69 6e 67 20 |acros ex|panding |
|00002230| 74 6f 20 7c 54 7c 20 6f | 72 20 7c 46 7c 20 68 61 |to |T| o|r |F| ha|
|00002240| 73 20 62 65 65 6e 20 63 | 6f 6d 70 6c 65 74 65 6c |s been c|ompletel|
|00002250| 79 20 72 65 70 6c 61 63 | 65 64 20 62 79 20 61 0a |y replac|ed by a.|
|00002260| 25 20 73 69 6d 70 6c 65 | 72 20 73 79 73 74 65 6d |% simple|r system|
|00002270| 20 75 73 69 6e 67 20 7c | 5c 69 66 74 72 75 65 7c | using ||\iftrue||
|00002280| 2c 20 77 68 69 63 68 20 | 66 75 72 74 68 65 72 6d |, which |furtherm|
|00002290| 6f 72 65 20 61 6c 6c 6f | 77 73 20 6c 61 7a 79 0a |ore allo|ws lazy.|
|000022a0| 25 20 65 76 61 6c 75 61 | 74 69 6f 6e 20 6f 6e 20 |% evalua|tion on |
|000022b0| 74 68 65 20 73 65 63 6f | 6e 64 20 70 61 73 73 2e |the seco|nd pass.|
|000022c0| 0a 25 20 20 20 20 5c 62 | 65 67 69 6e 7b 6d 61 63 |.% \b|egin{mac|
|000022d0| 72 6f 63 6f 64 65 7d 0a | 5c 6c 6f 6e 67 5c 64 65 |rocode}.|\long\de|
|000022e0| 66 5c 69 66 74 68 65 6e | 65 6c 73 65 23 31 7b 25 |f\ifthen|else#1{%|
|000022f0| 0a 25 20 20 20 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |.% \e|nd{macro|
|00002300| 63 6f 64 65 7d 0a 25 20 | 5c 63 68 61 6e 67 65 73 |code}.% |\changes|
|00002310| 7b 76 31 2e 30 68 7d 7b | 31 39 39 34 2f 30 35 2f |{v1.0h}{|1994/05/|
|00002320| 31 34 7d 7b 55 73 65 20 | 5c 63 73 7b 54 45 40 72 |14}{Use |\cs{TE@r|
|00002330| 65 70 6c 7d 7d 0a 25 20 | 20 20 20 5c 62 65 67 69 |epl}}.% | \begi|
|00002340| 6e 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 5c 74 6f |n{macroc|ode}.\to|
|00002350| 6b 73 40 7b 23 31 7d 25 | 0a 5c 54 45 40 72 65 70 |ks@{#1}%|.\TE@rep|
|00002360| 6c 5c 6f 72 5c 54 45 40 | 6f 72 0a 5c 54 45 40 72 |l\or\TE@|or.\TE@r|
|00002370| 65 70 6c 5c 61 6e 64 5c | 54 45 40 61 6e 64 0a 5c |epl\and\|TE@and.\|
|00002380| 54 45 40 72 65 70 6c 5c | 6e 6f 74 5c 54 45 40 6e |TE@repl\|not\TE@n|
|00002390| 65 67 0a 25 20 20 20 20 | 5c 65 6e 64 7b 6d 61 63 |eg.% |\end{mac|
|000023a0| 72 6f 63 6f 64 65 7d 0a | 25 20 54 68 65 20 6f 72 |rocode}.|% The or|
|000023b0| 69 67 69 6e 61 6c 20 7c | 69 66 74 68 65 6e 2e 73 |iginal ||ifthen.s|
|000023c0| 74 79 7c 20 70 72 6f 63 | 65 73 73 65 64 20 65 76 |ty| proc|essed ev|
|000023d0| 65 72 79 74 68 69 6e 67 | 20 69 6e 73 69 64 65 20 |erything| inside |
|000023e0| 61 20 62 6f 78 0a 25 20 | 61 73 73 69 67 6e 6d 65 |a box.% |assignme|
|000023f0| 6e 74 2c 20 74 6f 20 63 | 61 74 63 68 20 61 6e 79 |nt, to c|atch any|
|00002400| 20 65 78 74 72 61 20 73 | 70 61 63 65 73 20 62 65 | extra s|paces be|
|00002410| 66 6f 72 65 20 74 68 65 | 79 20 61 70 70 65 61 72 |fore the|y appear|
|00002420| 65 64 20 69 6e 20 74 68 | 65 0a 25 20 6f 75 74 70 |ed in th|e.% outp|
|00002430| 75 74 2e 20 49 6e 73 74 | 65 61 64 20 49 20 68 61 |ut. Inst|ead I ha|
|00002440| 76 65 20 61 64 64 65 64 | 20 65 78 74 72 61 20 61 |ve added| extra a|
|00002450| 72 67 75 6d 65 6e 74 73 | 20 74 6f 20 74 68 65 20 |rguments| to the |
|00002460| 63 6f 6d 6d 61 6e 64 73 | 20 73 6f 20 74 68 65 79 |commands| so they|
|00002470| 0a 25 20 65 61 63 68 20 | 72 65 6d 6f 76 65 20 61 |.% each |remove a|
|00002480| 6e 79 20 66 6f 6c 6c 6f | 77 69 6e 67 20 73 70 61 |ny follo|wing spa|
|00002490| 63 65 2e 0a 25 0a 25 20 | 53 65 74 20 75 70 20 74 |ce..%.% |Set up t|
|000024a0| 68 65 20 75 73 65 72 20 | 6c 65 76 65 6c 20 6e 61 |he user |level na|
|000024b0| 6d 65 73 20 7c 5c 6e 6f | 74 7c 20 65 74 63 2e 0a |mes |\no|t| etc..|
|000024c0| 25 20 5c 63 68 61 6e 67 | 65 73 7b 76 31 2e 30 63 |% \chang|es{v1.0c|
|000024d0| 7d 7b 31 39 39 34 2f 30 | 31 2f 32 30 7d 7b 4d 6f |}{1994/0|1/20}{Mo|
|000024e0| 64 69 66 79 5c 63 6d 64 | 5c 70 72 6f 74 65 63 74 |dify\cmd|\protect|
|000024f0| 5c 20 61 6e 64 20 5c 63 | 6d 64 5c 76 61 6c 75 65 |\ and \c|md\value|
|00002500| 7d 0a 25 20 5c 63 68 61 | 6e 67 65 73 7b 76 31 2e |}.% \cha|nges{v1.|
|00002510| 30 6a 7d 7b 31 39 39 34 | 2f 31 31 2f 31 35 7d 7b |0j}{1994|/11/15}{|
|00002520| 4d 6f 64 69 66 79 5c 63 | 6d 64 5c 70 72 6f 74 65 |Modify\c|md\prote|
|00002530| 63 74 5c 20 61 64 64 20 | 5c 63 73 7b 40 73 65 74 |ct\ add |\cs{@set|
|00002540| 72 65 66 7d 7d 0a 25 20 | 20 20 20 5c 62 65 67 69 |ref}}.% | \begi|
|00002550| 6e 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 20 20 20 |n{macroc|ode}. |
|00002560| 20 5c 62 67 72 6f 75 70 | 0a 20 20 20 20 20 20 20 | \bgroup|. |
|00002570| 20 5c 6c 65 74 5c 70 72 | 6f 74 65 63 74 5c 40 75 | \let\pr|otect\@u|
|00002580| 6e 65 78 70 61 6e 64 61 | 62 6c 65 40 70 72 6f 74 |nexpanda|ble@prot|
|00002590| 65 63 74 0a 20 20 20 20 | 20 20 20 20 5c 64 65 66 |ect. | \def|
|000025a0| 5c 40 73 65 74 72 65 66 | 23 23 31 23 23 32 23 23 |\@setref|##1##2##|
|000025b0| 33 7b 25 0a 20 20 20 20 | 20 20 20 20 20 5c 69 66 |3{%. | \if|
|000025c0| 78 23 23 31 5c 72 65 6c | 61 78 5c 7a 40 5c 65 6c |x##1\rel|ax\z@\el|
|000025d0| 73 65 5c 65 78 70 61 6e | 64 61 66 74 65 72 23 23 |se\expan|dafter##|
|000025e0| 32 23 23 31 5c 66 69 7d | 25 0a 20 20 20 20 20 20 |2##1\fi}|%. |
|000025f0| 20 20 5c 64 65 66 5c 76 | 61 6c 75 65 23 23 31 7b | \def\v|alue##1{|
|00002600| 5c 74 68 65 5c 63 73 6e | 61 6d 65 20 63 40 23 23 |\the\csn|ame c@##|
|00002610| 31 5c 65 6e 64 63 73 6e | 61 6d 65 7d 25 0a 20 20 |1\endcsn|ame}%. |
|00002620| 20 20 20 20 20 20 5c 6c | 65 74 5c 65 71 75 61 6c | \l|et\equal|
|00002630| 5c 54 45 40 65 71 75 61 | 6c 20 5c 6c 65 74 5c 28 |\TE@equa|l \let\(|
|00002640| 5c 54 45 40 6c 70 61 72 | 65 6e 20 5c 6c 65 74 5c |\TE@lpar|en \let\|
|00002650| 29 5c 54 45 40 72 70 61 | 72 65 6e 0a 20 20 20 20 |)\TE@rpa|ren. |
|00002660| 20 20 20 20 5c 6c 65 74 | 5c 69 73 6f 64 64 5c 54 | \let|\isodd\T|
|00002670| 45 40 6f 64 64 20 5c 6c | 65 74 5c 6c 65 6e 67 74 |E@odd \l|et\lengt|
|00002680| 68 74 65 73 74 5c 54 45 | 40 6c 65 6e 67 74 68 0a |htest\TE|@length.|
|00002690| 25 20 20 20 20 5c 65 6e | 64 7b 6d 61 63 72 6f 63 |% \en|d{macroc|
|000026a0| 6f 64 65 7d 0a 25 20 46 | 6f 72 20 74 68 65 20 66 |ode}.% F|or the f|
|000026b0| 69 72 73 74 20 70 61 73 | 73 2c 20 69 6e 20 61 20 |irst pas|s, in a |
|000026c0| 67 72 6f 75 70 2c 20 6d | 61 6b 65 20 76 61 72 69 |group, m|ake vari|
|000026d0| 6f 75 73 20 74 6f 6b 65 | 6e 73 20 6e 6f 6e 2d 65 |ous toke|ns non-e|
|000026e0| 78 70 61 6e 64 61 62 6c | 65 2e 0a 25 0a 25 20 49 |xpandabl|e..%.% I|
|000026f0| 74 20 69 73 20 75 6e 66 | 6f 72 74 75 6e 61 74 65 |t is unf|ortunate|
|00002700| 20 74 68 61 74 20 69 6e | 20 6f 72 64 65 72 20 74 | that in| order t|
|00002710| 6f 20 72 65 6d 61 69 6e | 20 63 6f 6d 70 61 74 69 |o remain| compati|
|00002720| 62 6c 65 20 77 69 74 68 | 20 7c 69 66 74 68 65 6e |ble with| |ifthen|
|00002730| 7c 0a 25 20 73 79 6e 74 | 61 78 2c 20 69 74 20 69 ||.% synt|ax, it i|
|00002740| 73 20 6e 65 63 65 73 73 | 61 72 79 20 74 6f 20 68 |s necess|ary to h|
|00002750| 61 76 65 20 61 20 74 77 | 6f 20 70 61 73 73 20 73 |ave a tw|o pass s|
|00002760| 79 73 74 65 6d 2e 20 54 | 68 65 20 66 69 72 73 74 |ystem. T|he first|
|00002770| 20 70 61 73 73 0a 25 20 | 69 6e 73 69 64 65 20 61 | pass.% |inside a|
|00002780| 6e 20 7c 5c 65 64 65 66 | 7c 20 60 65 78 70 6f 73 |n |\edef|| `expos|
|00002790| 65 73 27 20 74 68 65 20 | 7c 5c 69 66 7c 5c 6c 64 |es' the ||\if|\ld|
|000027a0| 6f 74 73 5c 20 7c 5c 66 | 69 7c 20 74 6f 6b 65 6e |ots\ |\f|i| token|
|000027b0| 73 2c 20 73 6f 20 74 68 | 65 0a 25 20 63 6f 72 65 |s, so th|e.% core|
|000027c0| 63 74 20 63 6c 61 75 73 | 65 73 20 6d 61 79 20 62 |ct claus|es may b|
|000027d0| 65 20 73 6b 69 70 70 65 | 64 20 6f 6e 20 74 68 65 |e skippe|d on the|
|000027e0| 20 73 65 63 6f 6e 64 20 | 70 61 73 73 2e 20 54 68 | second |pass. Th|
|000027f0| 69 73 20 6d 65 61 6e 73 | 20 74 68 61 74 20 74 68 |is means| that th|
|00002800| 65 0a 25 20 77 68 6f 6c | 65 20 7c 5c 69 66 74 68 |e.% whol|e |\ifth|
|00002810| 65 6e 65 6c 73 65 7c 20 | 63 6f 6d 6d 61 6e 64 20 |enelse| |command |
|00002820| 64 6f 65 73 20 6e 6f 74 | 20 77 6f 72 6b 20 62 79 |does not| work by|
|00002830| 20 65 78 70 61 6e 73 69 | 6f 6e 2c 20 61 6e 64 20 | expansi|on, and |
|00002840| 73 6f 0a 25 20 70 6f 73 | 73 69 62 6c 79 20 68 61 |so.% pos|sibly ha|
|00002850| 73 20 6f 6e 6c 79 20 6c | 69 6d 69 74 65 64 20 75 |s only l|imited u|
|00002860| 73 65 66 75 6c 6e 65 73 | 73 20 66 6f 72 20 6d 61 |sefulnes|s for ma|
|00002870| 63 72 6f 20 63 6f 64 65 | 20 77 72 69 74 65 72 73 |cro code| writers|
|00002880| 2e 0a 25 20 54 68 65 20 | 6d 61 69 6e 20 70 72 6f |..% The |main pro|
|00002890| 62 6c 65 6d 20 77 69 74 | 68 20 74 68 65 20 7c 69 |blem wit|h the |i|
|000028a0| 66 74 68 65 6e 3a 7c 20 | 73 79 6e 74 61 78 20 69 |fthen:| |syntax i|
|000028b0| 73 20 74 68 61 74 20 28 | 75 6e 69 71 75 65 20 66 |s that (|unique f|
|000028c0| 6f 72 20 5c 4c 61 54 65 | 58 29 0a 25 20 69 74 20 |or \LaTe|X).% it |
|000028d0| 64 6f 65 73 20 6e 6f 74 | 20 75 73 65 73 20 61 20 |does not| uses a |
|000028e0| 62 72 61 63 65 20 64 65 | 6c 69 6d 69 74 65 64 20 |brace de|limited |
|000028f0| 61 72 67 75 6d 65 6e 74 | 20 66 6f 72 6d 2c 20 61 |argument| form, a|
|00002900| 6e 64 20 65 78 70 6f 73 | 65 73 20 74 68 65 0a 25 |nd expos|es the.%|
|00002910| 20 70 72 69 6d 69 74 69 | 76 65 20 5c 54 65 58 5c | primiti|ve \TeX\|
|00002920| 20 73 79 6e 74 61 78 20 | 66 6f 72 20 5c 6d 65 74 | syntax |for \met|
|00002930| 61 7b 6e 75 6d 62 65 72 | 7d 2e 20 50 72 65 74 74 |a{number|}. Prett|
|00002940| 79 20 6d 75 63 68 20 74 | 68 65 20 6f 6e 6c 79 20 |y much t|he only |
|00002950| 77 61 79 20 6f 66 0a 25 | 20 70 61 72 73 69 6e 67 |way of.%| parsing|
|00002960| 20 7c 31 20 3e 20 32 20 | 5c 6f 72 20 32 20 3c 20 | |1 > 2 |\or 2 < |
|00002970| 31 7c 20 69 73 20 74 6f | 20 61 63 74 75 61 6c 6c |1| is to| actuall|
|00002980| 79 20 65 76 61 6c 75 61 | 74 65 20 74 68 65 20 70 |y evalua|te the p|
|00002990| 72 69 6d 69 74 69 76 65 | 0a 25 20 7c 5c 69 66 6e |rimitive|.% |\ifn|
|000029a0| 75 6d 7c 73 2e 20 41 20 | 73 79 6e 74 61 78 20 73 |um|s. A |syntax s|
|000029b0| 75 63 68 20 61 73 3a 5c | 5c 25 0a 25 20 7c 5c 6f |uch as:\|\%.% |\o|
|000029c0| 72 7b 5c 6e 75 6d 74 65 | 73 74 7b 31 3c 32 7d 7d |r{\numte|st{1<2}}|
|000029d0| 7b 5c 6c 65 6e 67 74 68 | 74 65 73 74 7b 31 70 74 |{\length|test{1pt|
|000029e0| 3c 31 69 6e 7d 7d 7c 5c | 5c 0a 25 20 20 63 6f 75 |<1in}}|\|\.% cou|
|000029f0| 6c 64 20 65 61 73 69 6c | 79 20 62 65 20 65 76 61 |ld easil|y be eva|
|00002a00| 6c 75 61 74 65 64 20 69 | 6e 20 61 20 6f 6e 65 20 |luated i|n a one |
|00002a10| 70 61 73 73 20 77 61 79 | 2c 20 6f 70 65 72 61 74 |pass way|, operat|
|00002a20| 69 6e 67 20 64 69 72 65 | 63 74 6c 79 20 76 69 61 |ing dire|ctly via|
|00002a30| 0a 25 20 20 65 78 70 61 | 6e 73 69 6f 6e 2c 20 61 |.% expa|nsion, a|
|00002a40| 6e 64 20 6c 65 61 76 69 | 6e 67 20 6e 6f 20 65 78 |nd leavi|ng no ex|
|00002a50| 74 72 61 20 74 6f 6b 65 | 6e 73 20 69 6e 20 74 68 |tra toke|ns in th|
|00002a60| 65 20 74 6f 6b 65 6e 20 | 73 74 72 65 61 6d 2e 0a |e token |stream..|
|00002a70| 25 0a 25 20 53 74 69 6c | 6c 2c 20 6f 6e 20 77 69 |%.% Stil|l, on wi|
|00002a80| 74 68 20 74 68 65 20 63 | 6f 64 65 5c 6c 64 6f 74 |th the c|ode\ldot|
|00002a90| 73 5c 20 6d 61 6b 65 20 | 7c 5c 40 74 65 6d 70 61 |s\ make ||\@tempa|
|00002aa0| 7c 20 61 6e 64 20 7c 5c | 40 74 65 6d 70 62 7c 20 || and |\|@tempb| |
|00002ab0| 74 6f 6b 65 6e 73 0a 25 | 20 6e 6f 6e 2d 65 78 70 |tokens.%| non-exp|
|00002ac0| 61 6e 64 61 62 6c 65 20 | 6f 6e 20 74 68 65 20 66 |andable |on the f|
|00002ad0| 69 72 73 74 20 70 61 73 | 73 2e 0a 25 20 20 20 20 |irst pas|s..% |
|00002ae0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 63 6f 64 65 |\begin{m|acrocode|
|00002af0| 7d 0a 20 20 20 20 20 20 | 20 20 7b 5c 6c 65 74 5c |}. | {\let\|
|00002b00| 40 74 65 6d 70 61 5c 72 | 65 6c 61 78 5c 6c 65 74 |@tempa\r|elax\let|
|00002b10| 5c 40 74 65 6d 70 62 5c | 72 65 6c 61 78 0a 20 20 |\@tempb\|relax. |
|00002b20| 20 20 20 20 20 20 5c 78 | 64 65 66 5c 40 67 74 65 | \x|def\@gte|
|00002b30| 6d 70 61 7b 5c 65 78 70 | 61 6e 64 61 66 74 65 72 |mpa{\exp|andafter|
|00002b40| 5c 54 45 40 65 76 61 6c | 5c 74 68 65 5c 74 6f 6b |\TE@eval|\the\tok|
|00002b50| 73 40 5c 54 45 40 65 6e | 64 65 76 61 6c 7d 7d 25 |s@\TE@en|deval}}%|
|00002b60| 0a 25 20 20 20 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |.% \e|nd{macro|
|00002b70| 63 6f 64 65 7d 0a 25 20 | 4e 6f 77 20 6f 75 74 73 |code}.% |Now outs|
|00002b80| 69 64 65 20 74 68 65 20 | 67 72 6f 75 70 2c 20 65 |ide the |group, e|
|00002b90| 78 65 63 75 74 65 20 7c | 5c 40 67 74 65 6d 70 61 |xecute ||\@gtempa|
|00002ba0| 7c 20 77 68 69 63 68 20 | 63 61 75 73 65 73 20 61 || which |causes a|
|00002bb0| 6c 6c 20 74 68 65 0a 25 | 20 7c 5c 69 66 7c 73 20 |ll the.%| |\if|s |
|00002bc0| 65 74 63 2e 2c 20 74 6f | 20 62 65 20 65 76 61 6c |etc., to| be eval|
|00002bd0| 75 61 74 65 64 2c 20 74 | 68 65 20 66 69 6e 61 6c |uated, t|he final|
|00002be0| 20 74 72 75 74 68 20 76 | 61 6c 75 65 20 69 73 20 | truth v|alue is |
|00002bf0| 63 6f 6e 74 61 69 6e 65 | 64 20 69 6e 0a 25 20 74 |containe|d in.% t|
|00002c00| 68 65 20 7c 5c 6e 65 77 | 69 66 7c 20 74 6f 6b 65 |he |\new|if| toke|
|00002c10| 6e 20 7c 5c 69 66 54 45 | 40 76 61 6c 7c 2e 20 46 |n |\ifTE|@val|. F|
|00002c20| 69 6e 61 6c 6c 79 20 74 | 68 69 73 20 69 73 20 74 |inally t|his is t|
|00002c30| 65 73 74 65 64 20 61 6e | 64 20 65 69 74 68 65 72 |ested an|d either|
|00002c40| 20 74 68 65 0a 25 20 66 | 69 72 73 74 20 6f 72 20 | the.% f|irst or |
|00002c50| 73 65 63 6f 6e 64 20 66 | 6f 6c 6c 6f 77 69 6e 67 |second f|ollowing|
|00002c60| 20 61 72 67 75 6d 65 6e | 74 20 69 73 20 63 68 6f | argumen|t is cho|
|00002c70| 73 65 6e 20 61 63 63 6f | 72 64 69 6e 67 6c 79 2e |sen acco|rdingly.|
|00002c80| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|00002c90| 64 7d 7b 31 39 39 34 2f | 30 31 2f 32 34 7d 0a 25 |d}{1994/|01/24}.%|
|00002ca0| 20 20 20 20 20 7b 55 73 | 65 20 5c 63 6d 64 7b 5c | {Us|e \cmd{\|
|00002cb0| 40 66 69 72 73 74 6f 66 | 74 77 6f 7d 20 6e 6f 74 |@firstof|two} not|
|00002cc0| 20 5c 63 6d 64 7b 5c 40 | 6c 65 66 74 6d 61 72 6b | \cmd{\@|leftmark|
|00002cd0| 7d 7d 0a 25 20 20 20 20 | 5c 62 65 67 69 6e 7b 6d |}}.% |\begin{m|
|00002ce0| 61 63 72 6f 63 6f 64 65 | 7d 0a 20 20 20 20 20 20 |acrocode|}. |
|00002cf0| 20 20 5c 40 67 74 65 6d | 70 61 0a 20 20 20 20 20 | \@gtem|pa. |
|00002d00| 20 20 20 5c 65 78 70 61 | 6e 64 61 66 74 65 72 5c | \expa|ndafter\|
|00002d10| 65 67 72 6f 75 70 5c 69 | 66 54 45 40 76 61 6c 0a |egroup\i|fTE@val.|
|00002d20| 20 20 20 20 20 20 20 20 | 20 20 5c 65 78 70 61 6e | | \expan|
|00002d30| 64 61 66 74 65 72 5c 40 | 66 69 72 73 74 6f 66 74 |dafter\@|firstoft|
|00002d40| 77 6f 0a 20 20 20 20 20 | 20 20 20 5c 65 6c 73 65 |wo. | \else|
|00002d50| 0a 20 20 20 20 20 20 20 | 20 20 20 5c 65 78 70 61 |. | \expa|
|00002d60| 6e 64 61 66 74 65 72 5c | 40 73 65 63 6f 6e 64 6f |ndafter\|@secondo|
|00002d70| 66 74 77 6f 0a 20 20 20 | 20 20 20 20 20 5c 66 69 |ftwo. | \fi|
|00002d80| 7d 0a 25 20 20 20 20 5c | 65 6e 64 7b 6d 61 63 72 |}.% \|end{macr|
|00002d90| 6f 63 6f 64 65 7d 0a 25 | 20 5c 65 6e 64 7b 6d 61 |ocode}.%| \end{ma|
|00002da0| 63 72 6f 7d 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |cro}.%.%| \begin{|
|00002db0| 6d 61 63 72 6f 7d 7b 5c | 54 45 40 65 76 61 6c 7d |macro}{\|TE@eval}|
|00002dc0| 0a 25 20 49 6e 69 74 69 | 61 6c 69 73 65 20 61 20 |.% Initi|alise a |
|00002dd0| 74 65 72 6d 2e 20 28 45 | 78 70 61 6e 64 65 64 20 |term. (E|xpanded |
|00002de0| 6f 6e 20 74 68 65 20 66 | 69 72 73 74 20 70 61 73 |on the f|irst pas|
|00002df0| 73 29 2e 0a 25 20 20 20 | 20 5c 62 65 67 69 6e 7b |s)..% | \begin{|
|00002e00| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 5c 64 65 66 5c |macrocod|e}.\def\|
|00002e10| 54 45 40 65 76 61 6c 7b | 5c 6e 6f 65 78 70 61 6e |TE@eval{|\noexpan|
|00002e20| 64 5c 54 45 40 6e 65 67 | 61 74 65 66 61 6c 73 65 |d\TE@neg|atefalse|
|00002e30| 5c 6e 6f 65 78 70 61 6e | 64 5c 69 66 74 72 75 65 |\noexpan|d\iftrue|
|00002e40| 5c 6e 6f 65 78 70 61 6e | 64 5c 69 66 6e 75 6d 7d |\noexpan|d\ifnum}|
|00002e50| 0a 25 20 20 20 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |.% \e|nd{macro|
|00002e60| 63 6f 64 65 7d 0a 25 20 | 5c 65 6e 64 7b 6d 61 63 |code}.% |\end{mac|
|00002e70| 72 6f 7d 0a 25 0a 25 20 | 5c 62 65 67 69 6e 7b 6d |ro}.%.% |\begin{m|
|00002e80| 61 63 72 6f 7d 7b 5c 69 | 66 54 45 40 76 61 6c 7d |acro}{\i|fTE@val}|
|00002e90| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00002ea0| 7b 5c 69 66 54 45 40 6e | 65 67 61 74 65 7d 0a 25 |{\ifTE@n|egate}.%|
|00002eb0| 20 54 77 6f 20 7c 5c 6e | 65 77 69 66 7c 73 20 74 | Two |\n|ewif|s t|
|00002ec0| 68 65 20 66 69 72 73 74 | 20 68 6f 6c 64 73 20 74 |he first| holds t|
|00002ed0| 68 65 20 63 75 72 72 65 | 6e 74 20 74 72 75 74 68 |he curre|nt truth|
|00002ee0| 20 76 61 6c 75 65 20 6f | 66 20 74 68 65 0a 25 20 | value o|f the.% |
|00002ef0| 65 78 70 72 65 73 73 69 | 6f 6e 2e 20 54 68 65 20 |expressi|on. The |
|00002f00| 73 65 63 6f 6e 64 20 69 | 73 20 61 20 74 65 6d 70 |second i|s a temp|
|00002f10| 6f 72 61 72 79 20 66 6c | 61 67 20 77 68 69 63 68 |orary fl|ag which|
|00002f20| 20 69 73 20 74 72 75 65 | 20 69 66 20 77 65 20 6e | is true| if we n|
|00002f30| 65 65 64 20 74 6f 0a 25 | 20 6e 65 67 61 74 65 20 |eed to.%| negate |
|00002f40| 74 68 65 20 63 75 72 72 | 65 6e 74 20 70 72 6f 70 |the curr|ent prop|
|00002f50| 6f 73 69 74 69 6f 6e 2e | 0a 25 20 20 20 20 5c 62 |osition.|.% \b|
|00002f60| 65 67 69 6e 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |egin{mac|rocode}.|
|00002f70| 5c 6e 65 77 69 66 5c 69 | 66 54 45 40 76 61 6c 0a |\newif\i|fTE@val.|
|00002f80| 5c 6e 65 77 69 66 5c 69 | 66 54 45 40 6e 65 67 61 |\newif\i|fTE@nega|
|00002f90| 74 65 0a 25 20 20 20 20 | 5c 65 6e 64 7b 6d 61 63 |te.% |\end{mac|
|00002fa0| 72 6f 63 6f 64 65 7d 0a | 25 20 5c 65 6e 64 7b 6d |rocode}.|% \end{m|
|00002fb0| 61 63 72 6f 7d 0a 25 20 | 5c 65 6e 64 7b 6d 61 63 |acro}.% |\end{mac|
|00002fc0| 72 6f 7d 0a 25 0a 25 20 | 5c 62 65 67 69 6e 7b 6d |ro}.%.% |\begin{m|
|00002fd0| 61 63 72 6f 7d 7b 5c 54 | 45 40 65 6e 64 65 76 61 |acro}{\T|E@endeva|
|00002fe0| 6c 7d 0a 25 20 46 69 6e | 61 6c 69 73 65 20 61 20 |l}.% Fin|alise a |
|00002ff0| 74 65 72 6d 2e 20 28 45 | 78 70 61 6e 64 65 64 20 |term. (E|xpanded |
|00003000| 6f 6e 20 74 68 65 20 66 | 69 72 73 74 20 70 61 73 |on the f|irst pas|
|00003010| 73 29 2e 0a 25 20 20 20 | 20 5c 62 65 67 69 6e 7b |s)..% | \begin{|
|00003020| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 5c 64 65 66 5c |macrocod|e}.\def\|
|00003030| 54 45 40 65 6e 64 65 76 | 61 6c 7b 5c 72 65 6c 61 |TE@endev|al{\rela|
|00003040| 78 0a 20 20 20 20 20 20 | 5c 6e 6f 65 78 70 61 6e |x. |\noexpan|
|00003050| 64 5c 54 45 40 73 65 74 | 76 61 6c 74 72 75 65 5c |d\TE@set|valtrue\|
|00003060| 6e 6f 65 78 70 61 6e 64 | 0a 20 20 20 20 5c 65 6c |noexpand|. \el|
|00003070| 73 65 0a 20 20 20 20 20 | 20 5c 6e 6f 65 78 70 61 |se. | \noexpa|
|00003080| 6e 64 5c 54 45 40 73 65 | 74 76 61 6c 66 61 6c 73 |nd\TE@se|tvalfals|
|00003090| 65 5c 6e 6f 65 78 70 61 | 6e 64 0a 20 20 20 20 5c |e\noexpa|nd. \|
|000030a0| 66 69 0a 20 20 20 20 5c | 6e 6f 65 78 70 61 6e 64 |fi. \|noexpand|
|000030b0| 5c 54 45 40 6e 65 67 61 | 74 65 66 61 6c 73 65 5c |\TE@nega|tefalse\|
|000030c0| 6e 6f 65 78 70 61 6e 64 | 0a 20 20 5c 66 69 7d 0a |noexpand|. \fi}.|
|000030d0| 25 20 20 20 20 5c 65 6e | 64 7b 6d 61 63 72 6f 63 |% \en|d{macroc|
|000030e0| 6f 64 65 7d 0a 25 20 5c | 65 6e 64 7b 6d 61 63 72 |ode}.% \|end{macr|
|000030f0| 6f 7d 0a 25 0a 25 20 5c | 62 65 67 69 6e 7b 6d 61 |o}.%.% \|begin{ma|
|00003100| 63 72 6f 7d 7b 5c 54 45 | 40 73 65 74 76 61 6c 74 |cro}{\TE|@setvalt|
|00003110| 72 75 65 7d 0a 25 20 5c | 62 65 67 69 6e 7b 6d 61 |rue}.% \|begin{ma|
|00003120| 63 72 6f 7d 7b 5c 54 45 | 40 73 65 74 76 61 6c 66 |cro}{\TE|@setvalf|
|00003130| 61 6c 73 65 7d 0a 25 20 | 53 65 74 20 74 68 65 20 |alse}.% |Set the |
|00003140| 7c 5c 69 66 54 45 40 76 | 61 6c 7c 20 74 6f 20 74 ||\ifTE@v|al| to t|
|00003150| 72 75 65 20 6f 72 20 66 | 61 6c 73 65 20 64 65 70 |rue or f|alse dep|
|00003160| 65 6e 64 69 6e 67 20 6f | 6e 20 74 68 65 20 76 61 |ending o|n the va|
|00003170| 6c 75 65 20 6f 66 20 74 | 68 65 0a 25 20 63 75 72 |lue of t|he.% cur|
|00003180| 72 65 6e 74 20 70 72 6f | 70 6f 73 69 74 69 6f 6e |rent pro|position|
|00003190| 2c 20 61 6e 64 20 74 68 | 65 20 6e 65 67 61 74 65 |, and th|e negate|
|000031a0| 20 66 6c 61 67 2e 20 28 | 4e 6f 74 20 65 78 70 61 | flag. (|Not expa|
|000031b0| 6e 64 65 64 20 6f 6e 20 | 74 68 65 20 66 69 72 73 |nded on |the firs|
|000031c0| 74 0a 25 20 70 61 73 73 | 2e 29 0a 25 20 20 20 20 |t.% pass|.).% |
|000031d0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 63 6f 64 65 |\begin{m|acrocode|
|000031e0| 7d 0a 5c 64 65 66 5c 54 | 45 40 73 65 74 76 61 6c |}.\def\T|E@setval|
|000031f0| 74 72 75 65 7b 25 0a 20 | 20 5c 69 66 54 45 40 6e |true{%. | \ifTE@n|
|00003200| 65 67 61 74 65 5c 54 45 | 40 76 61 6c 66 61 6c 73 |egate\TE|@valfals|
|00003210| 65 5c 65 6c 73 65 5c 54 | 45 40 76 61 6c 74 72 75 |e\else\T|E@valtru|
|00003220| 65 5c 66 69 7d 0a 5c 64 | 65 66 5c 54 45 40 73 65 |e\fi}.\d|ef\TE@se|
|00003230| 74 76 61 6c 66 61 6c 73 | 65 7b 5c 6c 65 74 5c 69 |tvalfals|e{\let\i|
|00003240| 66 54 45 40 76 61 6c 5c | 69 66 54 45 40 6e 65 67 |fTE@val\|ifTE@neg|
|00003250| 61 74 65 7d 0a 25 20 20 | 20 20 5c 65 6e 64 7b 6d |ate}.% | \end{m|
|00003260| 61 63 72 6f 63 6f 64 65 | 7d 0a 25 20 5c 65 6e 64 |acrocode|}.% \end|
|00003270| 7b 6d 61 63 72 6f 7d 0a | 25 20 5c 65 6e 64 7b 6d |{macro}.|% \end{m|
|00003280| 61 63 72 6f 7d 0a 25 0a | 25 20 5c 62 65 67 69 6e |acro}.%.|% \begin|
|00003290| 7b 6d 61 63 72 6f 7d 7b | 5c 54 45 40 6f 72 7d 0a |{macro}{|\TE@or}.|
|000032a0| 25 20 54 68 65 20 69 6e | 74 65 72 6e 61 6c 20 76 |% The in|ternal v|
|000032b0| 65 72 73 69 6f 6e 20 6f | 66 20 7c 5c 6f 72 7c 2e |ersion o|f |\or|.|
|000032c0| 20 45 6e 64 73 20 74 68 | 65 20 63 75 72 72 65 6e | Ends th|e curren|
|000032d0| 74 20 74 65 72 6d 2e 0a | 25 20 49 66 20 74 72 75 |t term..|% If tru|
|000032e0| 65 20 73 6b 69 70 20 74 | 68 65 20 72 65 6d 61 69 |e skip t|he remai|
|000032f0| 6e 69 6e 67 20 74 65 72 | 6d 73 2e 0a 25 20 20 20 |ning ter|ms..% |
|00003300| 20 5c 62 65 67 69 6e 7b | 6d 61 63 72 6f 63 6f 64 | \begin{|macrocod|
|00003310| 65 7d 0a 5c 64 65 66 5c | 54 45 40 6f 72 7b 5c 54 |e}.\def\|TE@or{\T|
|00003320| 45 40 65 6e 64 65 76 61 | 6c 5c 6e 6f 65 78 70 61 |E@endeva|l\noexpa|
|00003330| 6e 64 5c 69 66 54 45 40 | 76 61 6c 5c 6e 6f 65 78 |nd\ifTE@|val\noex|
|00003340| 70 61 6e 64 5c 65 6c 73 | 65 5c 6e 6f 65 78 70 61 |pand\els|e\noexpa|
|00003350| 6e 64 5c 69 66 6e 75 6d | 7d 0a 25 20 20 20 20 5c |nd\ifnum|}.% \|
|00003360| 65 6e 64 7b 6d 61 63 72 | 6f 63 6f 64 65 7d 0a 25 |end{macr|ocode}.%|
|00003370| 20 5c 65 6e 64 7b 6d 61 | 63 72 6f 7d 0a 25 0a 25 | \end{ma|cro}.%.%|
|00003380| 20 5c 62 65 67 69 6e 7b | 6d 61 63 72 6f 7d 7b 5c | \begin{|macro}{\|
|00003390| 54 45 40 61 6e 64 7d 0a | 25 20 54 68 65 20 69 6e |TE@and}.|% The in|
|000033a0| 74 65 72 6e 61 6c 20 76 | 65 72 73 69 6f 6e 20 6f |ternal v|ersion o|
|000033b0| 66 20 7c 5c 61 6e 64 7c | 2e 20 49 66 20 66 61 6c |f |\and||. If fal|
|000033c0| 73 65 20 73 6b 69 70 20 | 74 68 65 20 72 65 6d 61 |se skip |the rema|
|000033d0| 69 6e 69 6e 67 20 74 65 | 72 6d 73 2e 0a 25 20 20 |ining te|rms..% |
|000033e0| 20 20 5c 62 65 67 69 6e | 7b 6d 61 63 72 6f 63 6f | \begin|{macroco|
|000033f0| 64 65 7d 0a 5c 64 65 66 | 5c 54 45 40 61 6e 64 7b |de}.\def|\TE@and{|
|00003400| 5c 54 45 40 65 6e 64 65 | 76 61 6c 5c 6e 6f 65 78 |\TE@ende|val\noex|
|00003410| 70 61 6e 64 5c 69 66 54 | 45 40 76 61 6c 5c 6e 6f |pand\ifT|E@val\no|
|00003420| 65 78 70 61 6e 64 5c 69 | 66 6e 75 6d 7d 0a 25 20 |expand\i|fnum}.% |
|00003430| 20 20 20 5c 65 6e 64 7b | 6d 61 63 72 6f 63 6f 64 | \end{|macrocod|
|00003440| 65 7d 0a 25 20 5c 65 6e | 64 7b 6d 61 63 72 6f 7d |e}.% \en|d{macro}|
|00003450| 0a 25 0a 25 20 5c 62 65 | 67 69 6e 7b 6d 61 63 72 |.%.% \be|gin{macr|
|00003460| 6f 7d 7b 5c 54 45 40 6e | 65 67 7d 0a 25 20 5c 62 |o}{\TE@n|eg}.% \b|
|00003470| 65 67 69 6e 7b 6d 61 63 | 72 6f 7d 7b 5c 54 45 40 |egin{mac|ro}{\TE@|
|00003480| 6e 65 67 73 77 69 74 63 | 68 7d 0a 25 20 7c 5c 6e |negswitc|h}.% |\n|
|00003490| 6f 74 7c 2e 20 54 68 72 | 6f 77 20 74 68 65 20 63 |ot|. Thr|ow the c|
|000034a0| 75 72 72 65 6e 74 20 63 | 6f 6e 74 65 78 74 2c 20 |urrent c|ontext, |
|000034b0| 73 65 74 20 61 20 6e 65 | 67 61 74 65 20 66 6c 61 |set a ne|gate fla|
|000034c0| 67 2c 20 74 68 65 6e 20 | 72 65 73 74 61 72 74 0a |g, then |restart.|
|000034d0| 25 20 74 68 65 20 7c 5c | 69 66 6e 75 6d 7c 2e 20 |% the |\|ifnum|. |
|000034e0| 7c 5c 54 45 40 6e 65 67 | 73 77 69 74 63 68 7c 20 ||\TE@neg|switch| |
|000034f0| 69 73 20 6e 6f 74 20 65 | 78 70 61 6e 64 65 64 20 |is not e|xpanded |
|00003500| 6f 6e 20 74 68 65 20 66 | 69 72 73 74 20 70 61 73 |on the f|irst pas|
|00003510| 73 2e 0a 25 20 20 20 20 | 5c 62 65 67 69 6e 7b 6d |s..% |\begin{m|
|00003520| 61 63 72 6f 63 6f 64 65 | 7d 0a 5c 64 65 66 5c 54 |acrocode|}.\def\T|
|00003530| 45 40 6e 65 67 7b 5c 54 | 45 40 74 68 72 6f 77 5c |E@neg{\T|E@throw\|
|00003540| 6e 6f 65 78 70 61 6e 64 | 5c 54 45 40 6e 65 67 73 |noexpand|\TE@negs|
|00003550| 77 69 74 63 68 5c 6e 6f | 65 78 70 61 6e 64 5c 69 |witch\no|expand\i|
|00003560| 66 6e 75 6d 7d 0a 5c 64 | 65 66 5c 54 45 40 6e 65 |fnum}.\d|ef\TE@ne|
|00003570| 67 73 77 69 74 63 68 7b | 5c 69 66 54 45 40 6e 65 |gswitch{|\ifTE@ne|
|00003580| 67 61 74 65 5c 54 45 40 | 6e 65 67 61 74 65 66 61 |gate\TE@|negatefa|
|00003590| 6c 73 65 5c 65 6c 73 65 | 5c 54 45 40 6e 65 67 61 |lse\else|\TE@nega|
|000035a0| 74 65 74 72 75 65 5c 66 | 69 7d 0a 25 20 20 20 20 |tetrue\f|i}.% |
|000035b0| 5c 65 6e 64 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |\end{mac|rocode}.|
|000035c0| 25 20 5c 65 6e 64 7b 6d | 61 63 72 6f 7d 0a 25 20 |% \end{m|acro}.% |
|000035d0| 5c 65 6e 64 7b 6d 61 63 | 72 6f 7d 0a 25 0a 25 20 |\end{mac|ro}.%.% |
|000035e0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 7d 7b 5c 54 |\begin{m|acro}{\T|
|000035f0| 45 40 6c 70 61 72 65 6e | 7d 0a 25 20 7c 5c 28 7c |E@lparen|}.% |\(||
|00003600| 2e 20 54 68 72 6f 77 20 | 74 68 65 20 63 75 72 72 |. Throw |the curr|
|00003610| 65 6e 74 20 63 6f 6e 74 | 65 78 74 2c 20 74 68 65 |ent cont|ext, the|
|00003620| 6e 20 72 65 73 74 61 72 | 74 20 61 20 74 65 72 6d |n restar|t a term|
|00003630| 20 69 6e 73 69 64 65 20 | 61 20 67 72 6f 75 70 2e | inside |a group.|
|00003640| 0a 25 20 20 20 20 5c 62 | 65 67 69 6e 7b 6d 61 63 |.% \b|egin{mac|
|00003650| 72 6f 63 6f 64 65 7d 0a | 5c 64 65 66 5c 54 45 40 |rocode}.|\def\TE@|
|00003660| 6c 70 61 72 65 6e 23 31 | 7b 5c 54 45 40 74 68 72 |lparen#1|{\TE@thr|
|00003670| 6f 77 5c 62 65 67 69 6e | 67 72 6f 75 70 5c 54 45 |ow\begin|group\TE|
|00003680| 40 65 76 61 6c 23 31 7d | 0a 25 20 20 20 20 5c 65 |@eval#1}|.% \e|
|00003690| 6e 64 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 25 20 |nd{macro|code}.% |
|000036a0| 5c 65 6e 64 7b 6d 61 63 | 72 6f 7d 0a 25 0a 25 20 |\end{mac|ro}.%.% |
|000036b0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 7d 7b 5c 54 |\begin{m|acro}{\T|
|000036c0| 45 40 72 70 61 72 65 6e | 7d 0a 25 20 7c 5c 29 7c |E@rparen|}.% |\)||
|000036d0| 20 65 6e 64 20 74 68 65 | 20 63 75 72 72 65 6e 74 | end the| current|
|000036e0| 20 74 65 72 6d 2c 20 61 | 6e 64 20 74 68 65 20 6c | term, a|nd the l|
|000036f0| 6f 63 61 6c 20 67 72 6f | 75 70 20 73 74 61 72 74 |ocal gro|up start|
|00003700| 65 64 20 62 79 20 7c 5c | 28 7c 2c 20 62 75 74 0a |ed by |\|(|, but.|
|00003710| 25 20 70 61 73 73 20 6f | 6e 20 74 68 65 20 62 6f |% pass o|n the bo|
|00003720| 6f 6c 65 61 6e 20 76 61 | 6c 75 65 20 69 6e 20 7c |olean va|lue in ||
|00003730| 5c 69 66 5c 40 76 61 6c | 20 54 7c 2e 20 54 68 65 |\if\@val| T|. The|
|00003740| 20 7c 5c 6e 6f 65 78 70 | 61 6e 64 7c 20 73 74 6f | |\noexp|and| sto|
|00003750| 70 73 20 74 68 65 0a 25 | 20 7c 5c 65 78 70 61 6e |ps the.%| |\expan|
|00003760| 64 61 66 74 65 72 7c 20 | 66 72 6f 6d 20 65 78 70 |dafter| |from exp|
|00003770| 61 6e 64 69 6e 67 20 6f | 6e 20 74 68 65 20 66 69 |anding o|n the fi|
|00003780| 72 73 74 20 70 61 73 73 | 2e 0a 25 20 20 20 20 5c |rst pass|..% \|
|00003790| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|000037a0| 0a 5c 64 65 66 5c 54 45 | 40 72 70 61 72 65 6e 23 |.\def\TE|@rparen#|
|000037b0| 31 7b 25 0a 20 20 5c 54 | 45 40 65 6e 64 65 76 61 |1{%. \T|E@endeva|
|000037c0| 6c 0a 20 20 5c 6e 6f 65 | 78 70 61 6e 64 5c 65 78 |l. \noe|xpand\ex|
|000037d0| 70 61 6e 64 61 66 74 65 | 72 5c 65 6e 64 67 72 6f |pandafte|r\endgro|
|000037e0| 75 70 5c 6e 6f 65 78 70 | 61 6e 64 5c 69 66 54 45 |up\noexp|and\ifTE|
|000037f0| 40 76 61 6c 23 31 7d 0a | 25 20 20 20 20 5c 65 6e |@val#1}.|% \en|
|00003800| 64 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 25 20 5c |d{macroc|ode}.% \|
|00003810| 65 6e 64 7b 6d 61 63 72 | 6f 7d 0a 25 0a 25 20 5c |end{macr|o}.%.% \|
|00003820| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 7d 7b 5c 54 45 |begin{ma|cro}{\TE|
|00003830| 40 65 71 75 61 6c 7d 0a | 25 20 7c 5c 65 71 75 61 |@equal}.|% |\equa|
|00003840| 6c 7c 20 67 72 65 61 74 | 6c 79 20 73 69 6d 70 6c |l| great|ly simpl|
|00003850| 69 66 69 65 64 20 66 72 | 6f 6d 20 74 68 65 20 6f |ified fr|om the o|
|00003860| 72 69 67 69 6e 61 6c 2e | 20 7c 5c 64 65 66 7c 20 |riginal.| |\def| |
|00003870| 6d 61 79 20 62 65 20 75 | 73 65 64 0a 25 20 72 61 |may be u|sed.% ra|
|00003880| 74 68 65 72 20 74 68 61 | 6e 20 7c 5c 65 64 65 66 |ther tha|n |\edef|
|00003890| 7c 20 61 73 20 74 68 65 | 20 77 68 6f 6c 65 20 74 || as the| whole t|
|000038a0| 68 69 6e 67 20 69 73 20 | 65 78 70 61 6e 64 65 64 |hing is |expanded|
|000038b0| 20 61 6e 79 77 61 79 20 | 69 6e 20 74 68 65 0a 25 | anyway |in the.%|
|000038c0| 20 66 69 72 73 74 20 70 | 61 73 73 2e 20 54 68 65 | first p|ass. The|
|000038d0| 20 62 6f 6f 6c 65 61 6e | 20 63 61 6e 20 62 65 20 | boolean| can be |
|000038e0| 64 69 72 65 63 74 6c 79 | 20 65 6e 63 6f 64 65 64 |directly| encoded|
|000038f0| 20 77 69 74 68 20 74 68 | 65 20 7c 5c 69 66 78 7c | with th|e |\ifx||
|00003900| 2c 0a 25 20 74 68 65 72 | 65 20 69 73 20 6e 6f 20 |,.% ther|e is no |
|00003910| 6e 65 65 64 20 74 6f 20 | 73 74 61 72 74 20 61 6e |need to |start an|
|00003920| 20 65 71 75 69 76 61 6c | 65 6e 74 20 7c 5c 69 66 | equival|ent |\if|
|00003930| 6e 75 6d 7c 2e 0a 25 20 | 5c 63 68 61 6e 67 65 73 |num|..% |\changes|
|00003940| 7b 76 31 2e 30 68 7d 7b | 31 39 39 34 2f 30 35 2f |{v1.0h}{|1994/05/|
|00003950| 31 34 7d 7b 6d 61 6b 65 | 20 6c 6f 6e 67 7d 0a 25 |14}{make| long}.%|
|00003960| 20 20 20 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f | \beg|in{macro|
|00003970| 63 6f 64 65 7d 0a 5c 6c | 6f 6e 67 5c 64 65 66 5c |code}.\l|ong\def\|
|00003980| 54 45 40 65 71 75 61 6c | 23 31 23 32 23 33 7b 5c |TE@equal|#1#2#3{\|
|00003990| 54 45 40 74 68 72 6f 77 | 0a 20 20 20 20 20 20 5c |TE@throw|. \|
|000039a0| 64 65 66 5c 40 74 65 6d | 70 61 7b 23 31 7d 5c 64 |def\@tem|pa{#1}\d|
|000039b0| 65 66 5c 40 74 65 6d 70 | 62 7b 23 32 7d 25 0a 20 |ef\@temp|b{#2}%. |
|000039c0| 20 20 20 20 20 5c 6e 6f | 65 78 70 61 6e 64 5c 69 | \no|expand\i|
|000039d0| 66 78 5c 40 74 65 6d 70 | 61 5c 40 74 65 6d 70 62 |fx\@temp|a\@tempb|
|000039e0| 23 33 7d 0a 25 20 20 20 | 20 5c 65 6e 64 7b 6d 61 |#3}.% | \end{ma|
|000039f0| 63 72 6f 63 6f 64 65 7d | 0a 25 20 5c 65 6e 64 7b |crocode}|.% \end{|
|00003a00| 6d 61 63 72 6f 7d 0a 25 | 0a 25 20 5c 62 65 67 69 |macro}.%|.% \begi|
|00003a10| 6e 7b 6d 61 63 72 6f 7d | 7b 5c 62 6f 6f 6c 65 61 |n{macro}|{\boolea|
|00003a20| 6e 7d 0a 25 20 7c 5c 73 | 65 74 62 6f 6f 6c 65 61 |n}.% |\s|etboolea|
|00003a30| 6e 7c 20 74 61 6b 65 73 | 20 7c 74 72 75 65 7c 20 |n| takes| |true| |
|00003a40| 6f 72 20 7c 66 61 6c 73 | 65 7c 2c 20 61 73 20 7c |or |fals|e|, as ||
|00003a50| 23 32 7c 2c 20 61 6e 64 | 20 73 65 74 73 20 7c 23 |#2|, and| sets |#|
|00003a60| 31 7c 0a 25 20 61 63 63 | 6f 72 64 69 6e 67 6c 79 |1|.% acc|ordingly|
|00003a70| 2e 0a 25 20 5c 63 68 61 | 6e 67 65 73 7b 76 31 2e |..% \cha|nges{v1.|
|00003a80| 30 69 7d 7b 31 39 39 34 | 2f 30 35 2f 32 37 7d 7b |0i}{1994|/05/27}{|
|00003a90| 4e 65 77 20 73 74 79 6c | 65 20 65 72 72 6f 72 20 |New styl|e error |
|00003aa0| 63 6f 6d 6d 61 6e 64 73 | 7d 0a 25 20 20 20 20 5c |commands|}.% \|
|00003ab0| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|00003ac0| 0a 5c 64 65 66 5c 73 65 | 74 62 6f 6f 6c 65 61 6e |.\def\se|tboolean|
|00003ad0| 23 31 23 32 7b 25 0a 20 | 20 5c 6c 6f 77 65 72 63 |#1#2{%. | \lowerc|
|00003ae0| 61 73 65 7b 5c 64 65 66 | 5c 40 74 65 6d 70 61 7b |ase{\def|\@tempa{|
|00003af0| 23 32 7d 7d 25 0a 20 20 | 5c 40 69 66 75 6e 64 65 |#2}}%. |\@ifunde|
|00003b00| 66 69 6e 65 64 7b 40 74 | 65 6d 70 73 77 61 5c 40 |fined{@t|empswa\@|
|00003b10| 74 65 6d 70 61 7d 25 0a | 20 20 20 20 7b 5c 50 61 |tempa}%.| {\Pa|
|00003b20| 63 6b 61 67 65 45 72 72 | 6f 72 7b 69 66 74 68 65 |ckageErr|or{ifthe|
|00003b30| 6e 7d 25 0a 20 20 20 20 | 20 20 20 7b 59 6f 75 20 |n}%. | {You |
|00003b40| 63 61 6e 20 6f 6e 6c 79 | 20 73 65 74 20 61 20 62 |can only| set a b|
|00003b50| 6f 6f 6c 65 61 6e 20 74 | 6f 20 60 74 72 75 65 27 |oolean t|o `true'|
|00003b60| 20 6f 72 20 60 66 61 6c | 73 65 27 7d 5c 40 65 68 | or `fal|se'}\@eh|
|00003b70| 63 7d 25 0a 20 20 20 20 | 7b 5c 40 69 66 75 6e 64 |c}%. |{\@ifund|
|00003b80| 65 66 69 6e 65 64 7b 23 | 31 5c 40 74 65 6d 70 61 |efined{#|1\@tempa|
|00003b90| 7d 25 0a 20 20 20 20 20 | 20 7b 5c 50 61 63 6b 61 |}%. | {\Packa|
|00003ba0| 67 65 45 72 72 6f 72 7b | 69 66 74 68 65 6e 7d 7b |geError{|ifthen}{|
|00003bb0| 42 6f 6f 6c 65 61 6e 20 | 23 31 20 75 6e 64 65 66 |Boolean |#1 undef|
|00003bc0| 69 6e 65 64 7d 5c 40 65 | 68 63 7d 25 0a 20 20 20 |ined}\@e|hc}%. |
|00003bd0| 20 20 20 7b 5c 63 73 6e | 61 6d 65 23 31 5c 40 74 | {\csn|ame#1\@t|
|00003be0| 65 6d 70 61 5c 65 6e 64 | 63 73 6e 61 6d 65 7d 7d |empa\end|csname}}|
|00003bf0| 7d 0a 25 20 20 20 20 5c | 65 6e 64 7b 6d 61 63 72 |}.% \|end{macr|
|00003c00| 6f 63 6f 64 65 7d 0a 25 | 20 5c 65 6e 64 7b 6d 61 |ocode}.%| \end{ma|
|00003c10| 63 72 6f 7d 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |cro}.%.%| \begin{|
|00003c20| 6d 61 63 72 6f 7d 7b 5c | 6e 65 77 62 6f 6f 6c 65 |macro}{\|newboole|
|00003c30| 61 6e 7d 0a 25 20 4f 68 | 20 49 20 64 6f 20 6c 6f |an}.% Oh| I do lo|
|00003c40| 76 65 20 74 68 6f 73 65 | 20 7c 5c 6f 75 74 65 72 |ve those| |\outer|
|00003c50| 7c 20 6d 61 63 72 6f 73 | 2e 0a 25 20 20 20 20 5c || macros|..% \|
|00003c60| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|00003c70| 0a 5c 64 65 66 5c 6e 65 | 77 62 6f 6f 6c 65 61 6e |.\def\ne|wboolean|
|00003c80| 23 31 7b 25 0a 20 20 5c | 63 73 6e 61 6d 65 20 6e |#1{%. \|csname n|
|00003c90| 65 77 69 66 5c 65 78 70 | 61 6e 64 61 66 74 65 72 |ewif\exp|andafter|
|00003ca0| 5c 65 6e 64 63 73 6e 61 | 6d 65 5c 63 73 6e 61 6d |\endcsna|me\csnam|
|00003cb0| 65 20 69 66 23 31 5c 65 | 6e 64 63 73 6e 61 6d 65 |e if#1\e|ndcsname|
|00003cc0| 7d 0a 25 20 20 20 20 5c | 65 6e 64 7b 6d 61 63 72 |}.% \|end{macr|
|00003cd0| 6f 63 6f 64 65 7d 0a 25 | 20 5c 65 6e 64 7b 6d 61 |ocode}.%| \end{ma|
|00003ce0| 63 72 6f 7d 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |cro}.%.%| \begin{|
|00003cf0| 6d 61 63 72 6f 7d 7b 5c | 77 68 69 6c 65 64 6f 7d |macro}{\|whiledo}|
|00003d00| 0a 25 20 7c 5c 77 68 69 | 6c 65 64 6f 7c 20 63 6f |.% |\whi|ledo| co|
|00003d10| 70 69 65 64 20 64 69 72 | 65 63 74 6c 79 20 66 72 |pied dir|ectly fr|
|00003d20| 6f 6d 20 74 68 65 20 6f | 72 69 67 69 6e 61 6c 2e |om the o|riginal.|
|00003d30| 5c 5c 0a 25 20 7c 5c 77 | 68 69 6c 65 64 6f 7b 7c |\\.% |\w|hiledo{||
|00003d40| 5c 6d 65 74 61 7b 74 65 | 73 74 7d 7c 7d 7b 7c 5c |\meta{te|st}|}{|\|
|00003d50| 6d 65 74 61 7b 62 6f 64 | 79 7d 7c 7d 7c 5c 5c 0a |meta{bod|y}|}|\\.|
|00003d60| 25 20 72 65 70 65 61 74 | 65 64 6c 79 20 65 76 61 |% repeat|edly eva|
|00003d70| 6c 75 61 74 65 73 20 5c | 6d 65 74 61 7b 62 6f 64 |luates \|meta{bod|
|00003d80| 79 7d 20 75 6e 74 69 6c | 20 5c 6d 65 74 61 7b 74 |y} until| \meta{t|
|00003d90| 65 73 74 7d 20 69 73 20 | 74 72 75 65 2e 0a 25 20 |est} is |true..% |
|00003da0| 20 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 63 | \begi|n{macroc|
|00003db0| 6f 64 65 7d 0a 5c 6c 6f | 6e 67 5c 64 65 66 5c 77 |ode}.\lo|ng\def\w|
|00003dc0| 68 69 6c 65 64 6f 23 31 | 23 32 7b 25 0a 20 20 5c |hiledo#1|#2{%. \|
|00003dd0| 69 66 74 68 65 6e 65 6c | 73 65 7b 23 31 7d 7b 5c |ifthenel|se{#1}{\|
|00003de0| 40 77 68 69 6c 65 64 6f | 74 72 75 65 20 5c 40 77 |@whiledo|true \@w|
|00003df0| 68 69 6c 65 73 77 5c 69 | 66 40 77 68 69 6c 65 64 |hilesw\i|f@whiled|
|00003e00| 6f 5c 66 69 0a 20 20 20 | 20 20 7b 23 32 5c 69 66 |o\fi. | {#2\if|
|00003e10| 74 68 65 6e 65 6c 73 65 | 7b 23 31 7d 7b 5c 40 77 |thenelse|{#1}{\@w|
|00003e20| 68 69 6c 65 64 6f 74 72 | 75 65 7d 7b 5c 40 77 68 |hiledotr|ue}{\@wh|
|00003e30| 69 6c 65 64 6f 66 61 6c | 73 65 7d 7d 7d 7b 7d 7d |iledofal|se}}}{}}|
|00003e40| 0a 25 20 20 20 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |.% \e|nd{macro|
|00003e50| 63 6f 64 65 7d 0a 25 20 | 5c 65 6e 64 7b 6d 61 63 |code}.% |\end{mac|
|00003e60| 72 6f 7d 0a 25 0a 25 20 | 5c 62 65 67 69 6e 7b 6d |ro}.%.% |\begin{m|
|00003e70| 61 63 72 6f 7d 7b 5c 69 | 66 40 77 68 69 6c 65 64 |acro}{\i|f@whiled|
|00003e80| 6f 7d 0a 25 20 49 6e 74 | 65 72 6e 61 6c 20 73 77 |o}.% Int|ernal sw|
|00003e90| 69 74 63 68 20 66 6f 72 | 20 7c 5c 77 68 69 6c 65 |itch for| |\while|
|00003ea0| 64 6f 7c 2e 0a 25 20 20 | 20 20 5c 62 65 67 69 6e |do|..% | \begin|
|00003eb0| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 5c 6e 65 77 |{macroco|de}.\new|
|00003ec0| 69 66 5c 69 66 40 77 68 | 69 6c 65 64 6f 0a 25 20 |if\if@wh|iledo.% |
|00003ed0| 20 20 20 5c 65 6e 64 7b | 6d 61 63 72 6f 63 6f 64 | \end{|macrocod|
|00003ee0| 65 7d 0a 25 20 5c 65 6e | 64 7b 6d 61 63 72 6f 7d |e}.% \en|d{macro}|
|00003ef0| 0a 25 0a 25 20 20 20 20 | 5c 62 65 67 69 6e 7b 6d |.%.% |\begin{m|
|00003f00| 61 63 72 6f 63 6f 64 65 | 7d 0a 25 3c 2f 70 61 63 |acrocode|}.%</pac|
|00003f10| 6b 61 67 65 3e 0a 25 20 | 20 20 20 5c 65 6e 64 7b |kage>.% | \end{|
|00003f20| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 25 0a 25 20 5c |macrocod|e}.%.% \|
|00003f30| 46 69 6e 61 6c 65 0a 5c | 65 6e 64 69 6e 70 75 74 |Finale.\|endinput|
|00003f40| 0a | |. | |
+--------+-------------------------+-------------------------+--------+--------+